WS打工人的工具站
🧪

正则表达式测试工具

🔒 本机处理文字与写作

测试正则表达式,实时查看每个匹配结果。

正则表达式测试工具会用你浏览器内置的正则表达式引擎,把你的表达式与标志套用到测试文本上,显示每个匹配结果的完整文本、位置与捕获分组——输入时实时更新。

分享

LINEFacebookXThreads

使用指引

  1. 输入你的表达式(不需要前后的斜线)与任何标志(例如「gi」)。
  2. 粘贴测试文本——匹配结果会实时更新。
  3. 每个匹配结果会显示完整匹配的文本、位置,以及任何捕获分组。

常见使用情境

  • 在把正则表达式用进代码前先构建并调试。
  • 检查表达式是否只匹配你预期的情况,不多不少。
  • 了解别人写的正则表达式实际上会匹配什么。
  • 用捕获分组提取或验证结构化的文本片段(例如编号或代码)。

✓内容与验证流程复查: 2026-08-25

正则表达式测试工具 的验证方法与判读边界

如何确认你的表达式真的照你想的方式运作。

全局标志会自动套用,确保显示每个匹配结果

就算你没在标志栏输入「g」,工具内部也会自动加上,让你看到测试文本中每一个匹配结果,而不只是第一个——你输入的其他标志(例如「i」或「m」)则完全照你输入的套用。

捕获分组依开头括号的顺序编号

分组 1 是表达式中第一个左括号,分组 2 是第二个,以此类推——「(?:...)」这种非捕获分组完全不会被编号,所以如果分组编号看起来怪怪的,检查一下表达式里有没有非捕获分组。

这是你浏览器的正则表达式引擎,不是通用标准

JavaScript 的正则表达式支持大多数常见语法,但部分高级功能(例如某些后行断言)依你使用的浏览器而定——为其他语言(例如 Python 或 PCRE)写的表达式,在这里可能需要小幅调整。

使用结果前的检查清单

  • 同时用应该匹配与不应该匹配的示例文本测试,而不只测一种情况。
  • 了解捕获分组是依开头括号编号,且会跳过非捕获分组。
  • 如果表达式行为不如预期,已检查是不是 JavaScript 特有语法与其他语言不同造成的。
  • 已测试过与你用途相关的边界情况(空输入、重复匹配、边界字符)。

适合谁使用

  • 要在代码中使用前先构建并调试正则表达式的人。
  • 要检查表达式是否精准匹配预期情况的人。
  • 想了解别人写的正则表达式实际匹配什么的人。
  • 要用捕获分组提取或验证结构化文本的人。

实际案例

验证输入格式

工程师写了验证商品编号格式的表达式,先用几个合法与不合法的示例编号测试,确认行为正确后才加进表单。

用分组提取数据

需要从一行日志文本中取出日期与编号的人,写出含两个捕获分组的表达式,确认每个分组抓到正确的内容。

看懂接手的表达式

接手一段含有陌生正则表达式代码的工程师,把它与示例输入一起粘贴进来,先弄清楚它到底匹配什么再动手修改。

使用限制

  • 使用你浏览器内置的 JavaScript 正则表达式引擎——语法支持程度(例如后行断言)依浏览器而定,写得不好的表达式仍可能运行缓慢或让页面卡住。

常见问题

我需要自己加上「g」标志吗?

不需要——它会自动套用,让你永远看到测试文本中每一个匹配结果,不论你在标志栏输入什么。

为什么我的分组没有显示成分组 1?

写成「(?:...)」的非捕获分组不会计入分组编号——如果你的表达式里有这种分组,后面编号的分组就会跟着往前移。

为什么教程里用其他语言写的表达式在这里不能用?

这个工具使用 JavaScript 原生的正则表达式引擎,不是每种语言的正则表达式功能都支持——为 Python、PCRE 等写的表达式可能需要稍作调整。

写得不好的表达式会让页面卡死吗?

有可能——某些会造成灾难性回溯的表达式在特定输入下会运行得非常慢,如果页面看起来卡住了,试着简化表达式或缩短测试文本。

🔒 在浏览器内处理,不会上传。结果仅供参考,详见 免责声明。 最后更新: 2026-08-25

订阅更新

新工具上线与实用技巧,第一时间发送到你的邮箱。不发垃圾邮件,随时可退订。