方法一:使用 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()); // true
Matcher 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)); // true
System.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