PATTERN LAB

正则表达式生成器

提供常用模板并支持即时匹配测试的正则工具。

匹配结果

当前没有匹配结果

输入正则和测试文本后,这里将显示所有命中的片段。

正则表达式生成器帮助、示例与常见问题

正则测试器用于在示例文本上运行 JavaScript 正则并立即查看全部匹配。建议先准备正例、反例和边界样本,再一次只调整一个符号或 Flag。结果遵循 JavaScript RegExp 行为,可能与 PCRE、RE2 或服务端引擎不同。

使用方法

选择常用模板或输入 JavaScript 表达式,只添加必要的 Flag,再粘贴具有代表性的文本。对照预期结果,每次只调整一个分组、量词、边界或 Flag。

使用示例

输入
Pattern: \b[A-Z]{2}-\d{4}\b
Text: Order AB-2048, draft A-12
输出
匹配 1 处:AB-2048

适用场景

  • 用邮箱模板验证表单输入,并补充带加号、子域名和长顶级域名的样本。
  • 从日志中提取 request_id、IP 或状态码,确认每一行都只命中目标字段。
  • 给搜索功能设计关键字过滤规则时,先检查大小写、空白和特殊字符情况。

支持范围与限制

  • 使用浏览器 JavaScript RegExp 引擎,并在浏览器支持时使用 g、i、m、s、u、y 等原生 Flag。
  • 以全局方式收集全部匹配;无效表达式或 Flag 会显示语法错误。
  • 应用未设置固定文本上限;复杂嵌套量词仍可能在长文本上造成缓慢执行。

隐私与数据处理

表达式和测试文本都留在浏览器中。上线前应使用真实长样本测试不受信任或复杂的表达式。

常见问题

  • 为什么匹配太多?通常是缺少边界、锚点,或使用了过宽的 .*。
  • 为什么线上和这里结果不同?不同语言的正则引擎和标志位支持可能存在差异。
  • 什么时候不用正则?当数据有明确结构时,优先使用 JSON、URL、HTML 或 CSV 解析器。

进阶建议

一条可维护的正则,应该和它的测试样本一起保存,而不只是留下最终表达式。正则的风险通常来自未来数据变化:新地区号码、更长域名、额外空格、不同换行符或意外的 Unicode 字符。上线前可以准备一组正例和反例,作为单元测试固定下来,这比在生产问题出现后重新猜测规则可靠得多。

排查方法

排查正则匹配问题时,把样本分成应该命中、应该拒绝和边界三组,每次只改一个量词、分组或锚点。匹配过多时看边界、贪婪匹配和 .*;匹配过少时看转义、大小写、换行模式和 Unicode 字符。上线前用真实长文本试一次,避免灾难性回溯。

内容维护:GoTools Engineering本次更新:补充示例、支持限制、隐私说明与参考资料。
正则表达式生成与测试 - 实时匹配验证 | GoTools