Skip to content

Java Regex

Java regex(Regular Expression)需要使用双引号引用起来,像字符串一样来书写,比如下面

java
String phonePattern = "^1\\d{10}$";
  • Pattern.matches匹配

最简单的方式是使用Pattern的静态方法matches,支持两个参数,第一个是正则表达式,第二个是字符串,返回boolean,用来判断字符串是否是符合预期

java
boolean match = Pattern.matches(phonePattern, "18999999999");
System.out.println(match); // true
  • Pattern.compile查询

Pattern.compile返回Pattern Object, 如下匹配字符串, 可以打印出所有匹配的字符串

java
String phonePattern = "1\\d{10}";
Matcher matcher = Pattern.compile(phonePattern).matcher("手机号18999999999")
while(matcher.find()) {
  String matches = matcher.group();
  System.out.println(matches);
}
// Output: 18999999999
  • string.replaceAll替换

使用string而不是String代表replaceAll是String的一个对象方法, 直接应用于字符串, 如下

java
String text = "手机号18999999999".replaceAll("\\d", "A");
// Output: 手机号AAAAAAAAAAA

Reference

正则表达式语法以及其余的方法可以参阅Java文档