计算两个时间间隔的天数

码影弦歌者
• 阅读 105

下面的例子演示如何利用正则表达式从一个URL中查找并输出所有类似下面的超链接:

<a href=http://www.9iyyzm.com>

首先我们从命令行输入URL地址,打开输入流,读取URL的内容并转化为字符串存入htmlString中。然后以"(]*>)"构造正则表达式,最后在字符串htmlString中查找匹配的字符串。

import java.io.*;
import java.net.*;
import java.util.regex.*;
public class GetHref {
public static void main(String[] args) {
InputStream in = null;
PrintWriter out = null;
String htmlString=null;
try {
// Check the arguments
if ((args.length != 1)&& (args.length != 2))
throw new IllegalArgumentException("Wrong number of args");

// Set up the streams
URL url = new URL(args[0]); // Create the URL
in = url.openStream(); // Open a stream to it
if (args.length == 2) // Get an appropriate output stream
out = new PrintWriter(new FileWriter(args[1]));
BufferedReader bin=new BufferedReader(new InputStreamReader(in));
String line;
StringBuffer sb = new StringBuffer();
while((line=bin.readLine())!=null){
if(out!=null) out.println(line);
sb=sb.append(line);
}
htmlString=sb.toString();
// System.out.println(sb.toString());
}
// On exceptions, print error message and usage message.
catch (Exception e) {
System.err.println(e);
System.err.println("Usage: java GetURL <URL> [<filename>]");
}
finally { // Always close the streams, no matter what.
try { in.close(); out.close(); } catch (Exception e) {}
}

Pattern p = Pattern.compile("(]*>)");
Matcher m = p.matcher(htmlString);
boolean result = m.find();
while(result){
for(int i=1;i<=m.groupCount();i++){
System.out.println(m.group(i));
}
result=m.find();
}
}
}
程序运行结果:
C:\java>java GetHrefhttp://127.0.0.1:8080/zz3zcwbwebhome/index.jsp
<a href=mailto:hi@javaweb.cc>











点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
Java8 LocalDate计算两个日期的间隔天数
Java8新增了java.time包,提供了很多新封装好的类,使我们可以摆脱原先使用java.util.Time以及java.util.Calendar带来的复杂。其中LocalDate正是本文中使用的可以帮助计算两个日期的间隔天数的类。(其它常用的还有LocalTime,Clock,Instant等,本文不赘述)话不多说,上代码!L
Stella981 Stella981
3年前
Linux应急响应(三):挖矿病毒
0x00前言随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式。新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染的成功率,通过利用永恒之蓝(EternalBlue)、web攻击多种漏洞(如Tomcat弱口令攻击、WeblogicWLS组件漏洞、Jboss
Wesley13 Wesley13
3年前
Java如何在指定端口创建套接字?
在Java编程中,如何在指定端口创建套接字并连接到指定服务器的端口?下面的例子演示了Socket类的Socket构造函数,并且使用getLocalPort(),getLocalAddress(),getInetAddress()以及getPort()方法获取Socket细节。packagecom.yiibai;
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
Java 初始化执行顺序以及成员变量初始化顺序
一、静态变量初始化顺序大家先看两个例子:(1)!(https://oscimg.oschina.net/oscnet/66be9168f7cdf36484b71f1d67069f12492.jpg)!(https://oscimg.oschina.net/oscnet/bf5d0b172f00f9aa237b3aee5b58cad5d0
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
Java技巧——比较两个日期相差的天数
Java技巧——比较两个日期相差的天数摘要:本文主要记录了在Java里面如何判断两个日期相差的天数。判断两个Date类型的日期之间的天数通过计算毫秒数判断:1publicstaticvoidmain(Stringargs)throwsExc
Wesley13 Wesley13
3年前
mysql查询每个学生的各科成绩,以及总分和平均分
今天看一个mysql教程,看到一个例子,感觉里面的解决方案不是很合理。问题如下:有学生表:!在这里插入图片描述(https://oscimg.oschina.net/oscnet/07b001b0c6cb7e0038a9299e768fc00a0d3.png)成绩表:!在这里插入图片描述(https://oscimg.o
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1年前
盘点一个Python正则表达式的问题
大家好,我是皮皮。一、前言前几天在Python白银群【whoisme】问了一个Python正则表达式的问题,这里拿出来给大家分享下。下图是他的正则表达式:二、实现过程这个正则表达式还是蛮复杂的,在Python中,正则表达式中的问号?表示前面的字符出现0次或
美凌格栋栋酱 美凌格栋栋酱
4个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(