Java 正则
1. 什么是模式与匹配
Java 正则核心由Pattern(模式)和Matcher(匹配器)组成,位于java.util.regex包。
- Pattern(模式):将正则表达式字符串编译成固定规则模板,只编译一次,可复用。
- Matcher(匹配器):将编译好的模式与目标字符串绑定,执行具体匹配、查找、提取操作。
核心关系:Pattern 定义规则,Matcher 执行匹配。
2. 为什么不直接用 String 的正则方法
String 的matches()、replaceAll()、split()每次调用都会重新编译正则。 高频、循环场景下会产生性能损耗,因此正式开发统一使用 Pattern + Matcher。
3. 标准使用流程
- 通过
Pattern.compile(正则)编译得到模式对象 - 通过
pattern.matcher(字符串)得到匹配器对象 - 调用匹配方法完成校验或提取
4. Matcher 三大核心方法
- matches():全串匹配,整串必须完全符合正则,多用于格式校验。
- lookingAt():前缀匹配,只需开头匹配成功。
- find():查找子串,可循环匹配所有符合规则的内容,配合
group()获取结果。
5. 分组机制
正则中()为捕获分组,可精准截取指定字段,分组下标从 1 开始。
6. 开发规范
- 固定正则建议声明为静态常量 Pattern,实现复用。
- 高频场景禁止使用 String 自带正则方法。
- 需要提取内容优先使用 Matcher 分组匹配。
