我想从一个文件中打印出符合java中特定模式的行。 我正在使用Pattern类来做到这一点。正则表达式 - 包括字符串:java
我试图把这个模式设置为“[哈利]”,这样每一个有“哈利”的行都会被打印出来。 但模式总是评估为false。 我的假设是,我输入的正则表达式模式是一个字符串。
我的代码如下:
try {
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
Pattern p = Pattern.compile("harry");
String str = null;
try {
while((str = br.readLine())!=null){
Matcher match = p.matcher(str);
boolean b = match.matches();
if(b){
System.out.println(str);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
请帮助。我不明白代码在哪里破坏。我正在尝试不同的模式匹配,但这是做到这一点的正确方法吗?
感谢