【发布时间】:2011-10-31 04:06:29
【问题描述】:
我知道Java正则表达式可以通过String的matches便捷方法访问,或者走很长的路并制作Pattern等。所以,下面的代码应该真的打印2“是的! "到输出的行。它打印“是!”行和“否”行。我错过了什么?
import java.util.regex.*;
public class TestRegex {
public static void main(String[] args) {
String pattern = "html";
String input = "somehtml.txt";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(input);
if(m.find()) {
System.out.println("Yes!");
}
else {
System.out.println("no");
}
if(input.matches(pattern)) {
System.out.println("Yes!");
}
else {
System.out.println("no");
}
}
}
输出:
Yes!
no
Win7 64 位上的 Java 版本 1.6。
C:\Users\Michael Smith>java -version java版本“1.6.0_24” Java(TM) SE 运行时环境 (build 1.6.0_24-b07) Java HotSpot(TM) 64 位服务器 VM(内部版本 19.1-b02,混合模式)
【问题讨论】: