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
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。