PATTERN LAB

正则表达式生成器

边写边试,把正则匹配变成可见的结果。

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

立即开始无需注册账号

匹配结果

当前没有匹配结果

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

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

使用指南

正则表达式用于在文本中匹配、验证或提取符合规则的片段。本工具提供手机号、邮箱、IP 等常见模板,也支持手写表达式并实时查看匹配结果。建议先准备几类样本:应该命中的正常数据、应该拒绝的错误数据、边界数据和真实日志片段。调试时从简单表达式开始,逐步增加分组、量词和锚点;每增加一个规则都观察命中变化。上线前尤其要警惕过度宽松、过度复杂和可能导致性能问题的模式。

示例

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

常见问题

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

进阶建议

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

排查方法

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

正则表达式生成与测试 | GoTools