JSON Studio使用指南更多工具许愿池English

正则表达式指南:JavaScript 标志、捕获分组与替换

把正则写进业务代码前,可以先用真实文本检查匹配结果。本工具采用 JavaScript 正则引擎;在这里通过的表达式不代表可以原样用于 Java、Python 或 Go,跨语言使用前需要核对语法与行为。

打开对应工具 →

操作步骤

  1. 输入表达式与标志,再粘贴测试文本。
  2. 在匹配预览中查看高亮范围和捕获分组。
  3. 切换替换模式预览替换结果,或切换提取模式选择分组并导出。
  4. 加入应该匹配和不应该匹配的案例,也检查空文本和多行输入,再用于业务代码。

可直接测试的示例

Pattern: (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})
Flags: g
Text: 2026-10-07 / 2024-02-29
Replacement: $<day>/$<month>/$<year>

标志与捕获分组

g 用于匹配多处,i 忽略大小写,m 改变行首行尾锚点的行为,s 允许点号匹配换行符。命名捕获分组便于阅读提取或替换规则。替换文本可用 $1 引用编号分组,用 $<name> 引用命名分组。

匹配成功不等于完整校验

匹配日期格式的正则只检查文本形状,不能证明日期真实存在。还应确认业务允许局部匹配,还是需要锚定整个输入。过长输入或大量回溯的表达式可能触发时间或结果限制,建议缩小样本或简化规则。

常见问题

为什么只匹配到第一处?

需要匹配多处时,检查是否启用了 g 标志。

为什么日期正则能匹配不存在的日期?

数字模式校验的是格式,不是日历规则;需要验证日期有效性时,应再使用日期解析逻辑。

相关指南