matches尝试将表达式与整个字符串匹配,
^并
$在模式的开头和结尾隐式添加 ,这意味着它将不查找子字符串。因此,此代码的输出:
public static void main(String[] args) throws ParseException { Pattern p = Pattern.compile("\d\d\d"); Matcher m = p.matcher("a123b"); System.out.println(m.find()); System.out.println(m.matches()); p = Pattern.compile("^\d\d\d$"); m = p.matcher("123"); System.out.println(m.find()); System.out.println(m.matches());}
123是的子字符串,
a123b因此该
find()方法输出
true。
matches()仅“看到”
a123b与“不相同”
123,因此输出
false。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)