方法一:使用 Pattern 类(推荐)
我们使用 Pattern 类来编译正则表达式,并使用它匹配输入以生成 Matcher 实例。 此 Matcher 具有有关正则表达式匹配结果的信息。
使用示例:
// [a-z]表示a~z之间的任何一个字符, {3}表示3个字符, 意思是匹配一个长度为3, 并且每个字符属于a~z的字符串Pattern p = Pattern.compile("[a-z]{3}");Matcher m1 = p.matcher("abc");System.out.println(m1.matches()); // trueMatcher m2 = p.matcher("abcd");System.out.println(m2.matches()); // false
方法二:使用 String 类的 matches 方法
使用示例:
// [a-z]表示a~z之间的任何一个字符, {3}表示3个字符, 意思是匹配一个长度为3, 并且每个字符属于a~z的字符串String regex = "[a-z]{3}";System.out.println("abc".matches(regex)); // trueSystem.out.println("abcd".matches(regex)); // false
通过阅读源码发现内部调用了 Pattern 类的 _matches_ 方法,再进入发现本质与方法一一致,如果调用次数多的话方法一的性能比较高,因为方法二每次都重复调用 Pattern.compile 方法编译正则表达式。String 类的 matches 方法源码:
Pattern 类的 matches 方法源码:
参考: https://blog.csdn.net/dnc8371/article/details/106809091 https://blog.csdn.net/javageektech/article/details/100059508
