public class test {
public static void main(String[] args) {
String regex = "^[+-]?[1-9]\\d*|0$";
String content = "+0";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
System.out.println(matcher.find());
System.out.println(matcher.group(0));
}
}
关于上面的这个表达式,为什么 +0 输出的也是 true
1. 整体会按照从左到右的顺序
2. 符号 | 将 regex 一分为二,分别是以 [+-]?[1-9]\\d* 开头 或 以 0 结尾
String regex = "^([+-]?[1-9]\\d*|0)$";
3. 加 () 后,^ 和 $ 就可以表示整体匹配
参考:
正则表达式 运算符优先级与匹配规则 | 一看就懂!!!(四)_正则运算-CSDN博客