1. 什么是模式与匹配

Java 正则核心由 Pattern(模式)Matcher(匹配器) 组成,位于 java.util.regex 包。

  • Pattern(模式):将正则表达式字符串编译成固定规则模板,只编译一次,可复用。
  • Matcher(匹配器):将编译好的模式与目标字符串绑定,执行具体匹配、查找、提取操作

核心关系:Pattern 定义规则,Matcher 执行匹配

2. 为什么不直接用 String 的正则方法

String 的 matches()replaceAll()split() 每次调用都会 重新编译正则。 高频、循环场景下会产生性能损耗,因此正式开发统一使用 Pattern + Matcher。

3. 标准使用流程

  1. 通过 Pattern.compile(正则) 编译得到模式对象
  2. 通过 pattern.matcher(字符串) 得到匹配器对象
  3. 调用匹配方法完成校验或提取

4. Matcher 三大核心方法

  1. matches()全串匹配,整串必须完全符合正则,多用于格式校验。
  2. lookingAt()前缀匹配,只需开头匹配成功。
  3. find()查找子串,可循环匹配所有符合规则的内容,配合 group() 获取结果。

5. 分组机制

正则中 () 为捕获分组,可精准截取指定字段,分组下标从 1 开始。

6. 开发规范

  • 固定正则建议声明为 静态常量 Pattern,实现复用。
  • 高频场景禁止使用 String 自带正则方法。
  • 需要提取内容优先使用 Matcher 分组匹配。

更多推荐