正则表达式测试工具
测试 JavaScript 正则表达式,查看匹配位置、匹配文本和捕获组,支持全局、忽略大小写及多行锚点。
工具资源加载中...
正则表达式测试工具介绍
正则表达式测试工具在浏览器中查找文本匹配,展示完整匹配、开始与结束位置以及捕获组 JSON。支持 g 全部匹配、i 忽略大小写、m 多行锚点,可复制测试报告或导出 TXT。测试文本与表达式在本地独立 Worker 中处理,不提交服务器。
查看匹配及捕获组
按照出现顺序展示匹配内容、位置和捕获组,未参与的捕获组显示为 null,便于检查分组和可选项。
调整常用匹配标记
选择查找第一处或全部匹配、忽略大小写及多行锚点,修改任意输入都会清除旧结果。
独立线程与超时终止
正则匹配使用独立线程,超过 1.5 秒后终止任务,也可手动取消,降低复杂表达式对页面交互的影响。
正则测试怎么使用?
- 输入表达式正文,例如
[A-Za-z]+,不要写成/[A-Za-z]+/g;标记通过复选框选择。 - 粘贴待测试文本,空文本也允许测试,例如表达式
^$。 - 点击“开始测试”,检查匹配记录与捕获组;零条匹配也是有效结果。
- 复制或导出报告。修改表达式、标记或文本后需要重新测试,清空和取消会终止旧任务。
位置、空匹配与分组示例
表达式 ([A-Za-z]+)(\d+) 测试 item12,完整匹配为 item12,位置为 [0, 6),捕获组为 ["item","12"]。开始位置包含在内,结束位置不包含在内。
位置按 UTF-16 单元计算,常见补充平面 emoji 占两个单元。g 模式下,空匹配会向后推进一个 UTF-16 单元再继续,避免停留在同一位置;本工具不提供 u 标记。m 只改变 ^ 和 $ 的行边界规则,不会让点号自动匹配换行。
内置示例查找常见邮箱候选并分离本地部分与域名,用于演示捕获组,不验证邮箱是否完整符合标准或真实存在。需要固定规则筛选可使用 文本信息提取工具。
处理范围与浏览器要求
表达式最多 500 个 UTF-16 单元,测试文本最多 50,000 个。最多展示 1,000 条匹配,匹配文本与捕获组的序列化内容累计不超过 500,000 个单元;达到上限时会提示实际结果可能更多。首条匹配就超出内容上限时会报错,请缩短文本或减少捕获组。
使用当前浏览器的 JavaScript RegExp 引擎,不等同于 PHP、Python 或其他语言的正则规则。页面只提供 g、i、m 三种标记,其他表达式语法能否使用取决于浏览器版本。超时会终止整个任务并清除未完成结果,不保证返回部分匹配。
需要支持 Blob URL 和 Web Worker 的浏览器。浏览器策略禁止 Blob Worker 时会提示无法执行,不会改用可能阻塞页面的主线程匹配。适合调试检索规则、分析日志片段和检查文本分组;批量按字面替换可使用 文本查找替换工具,核对变更可使用 文本对比工具。
正则表达式测试常见问答
为什么只找到第一条?
未勾选 g 全部匹配时,只返回第一条匹配及其捕获组。勾选 g 后会继续查找,受到条数、内容和超时限制。
没有匹配和表达式错误有什么区别?
合法表达式可能返回零条匹配,页面仍展示测试统计。无效语法或运行超时会显示错误说明,不发布成功结果。
复制报告会保留换行和特殊符号吗?
报告用 JSON 字符串形式记录完整匹配,换行与引号以转义形式展示,并附位置和捕获组,便于保存核对。页面中的匹配内容按纯文本展示,不执行 HTML。