找出输入中的一个或多个匹配的字符串

来源:互联网 发布:智慧树网络课怎么刷课 编辑:程序博客网 时间:2024/05/22 15:27

//找出输入中的一个或多个匹配的字符串。

这里使用的是Mather类的find方法,来查找匹配的内容


package match;


import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;


public class HrefMatch {


public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
try{
String urlString;
if(args.length > 0){
urlString = args[0];
}else{
urlString = "http://java.sun.com";
}

InputStreamReader in = new InputStreamReader(new URL(urlString).openStream());

StringBuilder input = new StringBuilder();
int ch;
while((ch = in.read()) != -1){
input.append((char) ch);
}

String patternString = "<a\\s+href\\s*=\\s*(\"[^\"]*\"|[^\\s>]\\s*>";

//忽略字符串大小写
Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);

while(matcher.find()){
int start = matcher.start();
int end = matcher.end();
String match = input.substring(start, end);
System.out.println(match);
}
}catch(PatternSyntaxException e){
e.printStackTrace();

}

}


}
0 0