正则 表达 式 测试 工具
测试正则表达式,实时查看每个匹配结果。
正则表达式测试工具会用你浏览器内置的正则表达式引擎,把你的表达式与标志套用到测试文本上,显示每个匹配结果的完整文本、位置与捕获分组——输入时实时更新。
使用指引
- 输入你的表达式(不需要前后的斜线)与任何标志(例如「gi」)。
- 粘贴测试文本——匹配结果会实时更新。
- 每个匹配结果会显示完整匹配的文本、位置,以及任何捕获分组。
常见使用情境
- 在把正则表达式用进代码前先构建并调试。
- 检查表达式是否只匹配你预期的情况,不多不少。
- 了解别人写的正则表达式实际上会匹配什么。
- 用捕获分组提取或验证结构化的文本片段(例如编号或代码)。
✓内容与验证流程复查: 2026-08-25
正则表达式测试工具 的验证方法与判读边界
如何确认你的表达式真的照你想的方式运作。
全局 标志 会 自动 套用 , 确保 显示 每 个 匹配 结果
就算你没在标志栏输入「g」,工具内部也会自动加上,让你看到测试文本中每一个匹配结果,而不只是第一个——你输入的其他标志(例如「i」或「m」)则完全照你输入的套用。
捕获 分组 依 开头 括号 的 顺序 编号
分组 1 是表达式中第一个左括号,分组 2 是第二个,以此类推——「(?:...)」这种非捕获分组完全不会被编号,所以如果分组编号看起来怪怪的,检查一下表达式里有没有非捕获分组。
这 是 你 浏览 器 的 正则 表达 式 引擎 , 不是 通用 标准
JavaScript 的正则表达式支持大多数常见语法,但部分高级功能(例如某些后行断言)依你使用的浏览器而定——为其他语言(例如 Python 或 PCRE)写的表达式,在这里可能需要小幅调整。
使用结果前的检查清单
- 同时用应该匹配与不应该匹配的示例文本测试,而不只测一种情况。
- 了解捕获分组是依开头括号编号,且会跳过非捕获分组。
- 如果表达式行为不如预期,已检查是不是 JavaScript 特有语法与其他语言不同造成的。
- 已测试过与你用途相关的边界情况(空输入、重复匹配、边界字符)。
适合谁使用
- 要在代码中使用前先构建并调试正则表达式的人。
- 要检查表达式是否精准匹配预期情况的人。
- 想了解别人写的正则表达式实际匹配什么的人。
- 要用捕获分组提取或验证结构化文本的人。
实际案例
验证 输入 格式
工程师写了验证商品编号格式的表达式,先用几个合法与不合法的示例编号测试,确认行为正确后才加进表单。
用 分组 提取 数据
需要从一行日志文本中取出日期与编号的人,写出含两个捕获分组的表达式,确认每个分组抓到正确的内容。
看懂 接手 的 表达 式
接手一段含有陌生正则表达式代码的工程师,把它与示例输入一起粘贴进来,先弄清楚它到底匹配什么再动手修改。
使用限制
- 使用你浏览器内置的 JavaScript 正则表达式引擎——语法支持程度(例如后行断言)依浏览器而定,写得不好的表达式仍可能运行缓慢或让页面卡住。
常见问题
我 需要 自己 加上 「 g 」 标志 吗 ?
不需要——它会自动套用,让你永远看到测试文本中每一个匹配结果,不论你在标志栏输入什么。
为什么 我的 分组 没有 显示 成分 组 1?
写成「(?:...)」的非捕获分组不会计入分组编号——如果你的表达式里有这种分组,后面编号的分组就会跟着往前移。
为什么 教程 里 用 其他 语言 写的 表达 式 在 这里 不能 用 ?
这个工具使用 JavaScript 原生的正则表达式引擎,不是每种语言的正则表达式功能都支持——为 Python、PCRE 等写的表达式可能需要稍作调整。
写 得 不好 的 表达 式 会 让 页 面 卡 死 吗 ?
有可能——某些会造成灾难性回溯的表达式在特定输入下会运行得非常慢,如果页面看起来卡住了,试着简化表达式或缩短测试文本。
🔒 在浏览器内处理,不会上传。结果仅供参考,详见 免责声明。 最后更新: 2026-08-25
订阅更新
新工具上线与实用技巧,第一时间发送到你的邮箱。不发垃圾邮件,随时可退订。