Java Regex中matches()和find()的区别
下文笔者讲述Regex中matches()和find()的区别说明,如下所示
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());
}
/*
运行以上代码,将输出以下信息:
true
false
true
true
*/
123 是 a123b 的子字符串
因此 find() 方法输出 true
matches() 仅“看到” a123b 与 123 不同
因此输出 false
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


