一个正则表达式的匹配输出问题
有如下的代码,可正常工作。但唯一缺点就是在打印时有一些垃圾信息。
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String args[]){
try {
BufferedReader reader = new BufferedReader(new FileReader("Web/a1.html"));
String line = "";
try {
while((line = reader.readLine())!=null){
pare(line);
}
} catch (IOException e) {
System.out.println("cannot read file");
}
} catch (FileNotFoundException e) {
System.out.println("cannot find file");
}
}
private static void pare(String line) {
Pattern p = Pattern.compile("<a\\s+href\\s*=\\s*\"?(.*?)[\"|>]");
Matcher m = p.matcher(line);
while(m.find()){
System.out.println(m.group());
}
}
}
打印出:
<a href="a2.html"
<a href="a3.html"
<a href="a4.html"
<a href="a5.html"
我只想打印出
a2.html
a3.html
a4.html
a5.html
请问正则应该如何修改呢??