🔎 正则表达式测试器 — 实时匹配、分组与替换
Toolio的正则表达式测试工具是一款免费的浏览器端工具,可即时测试正则表达式——无需上传文件,无需账户,且可完全离线使用。
正则表达式(regex)是一种用于搜索和匹配文本的模式;regex 测试器可以显示模式与示例输入的匹配结果。
正则表达式模式
标志
测试字符串
捕获组(第一个匹配)
替换
隐私优先设计. 此工具完全在您的浏览器中运行 — 您输入的任何内容都不会上传或存储,并且可以离线使用。
关于
输入一个正则表达式模式和一个测试字符串,实时查看所有匹配项的高亮显示。第一个匹配项的捕获组会以 $1、$2 等引用形式列出,替换预览会显示你的替换字符串如何转换输入内容。标志位 — g、i、m、s、u — 可通过复选框切换,因此你无需记住语法。因为所有操作都在浏览器中运行,无需服务器参与,你的模式和文本将完全保持私密。
如何使用
- 在模式字段中输入您的正则表达式。
- 选择你需要的标志(g 表示全局,i 表示不区分大小写,m 表示多行,等等)。
- 在测试字符串区域粘贴或输入您的测试字符串 —— 匹配项会立即高亮。
- 查看捕获组面板以检查第一个匹配项的 $1、$2 … 值。
- 在替换字段中输入替换字符串以预览结果,然后复制它。
常见问题
- 这个正则表达式测试器是免费的吗?
- 是的,完全免费 — 无需账户,无需订阅,无使用限制。
- 它是否会将我的模式或文本上传到服务器?
- 不会。所有操作都在您的浏览器中本地运行,使用JavaScript的RegExp引擎。没有任何内容会被发送到任何服务器。
- 它可以在离线状态下使用吗?
- 可以。页面加载后,您可以断开互联网连接,它仍能继续工作。该工具也是一个PWA,因此您可以将其安装以供离线使用。
- 支持哪些正则表达式标志?
- 该工具支持g(全局)、i(不区分大小写)、m(多行)、s(点所有)、u(Unicode)——这些都是标准的JavaScript RegExp标志。
- 我可以在替换字符串中使用捕获组吗?
- 可以。在替换字段中使用$1、$2等来引用模式中的捕获组,就像JavaScript的String.replace()方法一样。
- 为什么我的正则表达式在这里的行为与Python或PCRE不同?
- 此测试器运行的是浏览器自身的JavaScript正则表达式引擎,它与Python和PCRE在实际使用中存在差异:命名组使用不同的语法,没有带内联注释的详细模式,lookbehind的支持取决于浏览器。如果你正在为JavaScript项目编写正则表达式,这正是正确的引擎;对于其他语言,应视为接近但不完全相同。
- 我的浏览器在输入较长内容时冻结了,发生了什么?
- 这几乎可以肯定是灾难性的回溯。带有嵌套量词的模式,如(a+)+,随着输入的增长,处理时间会呈指数级增长,因此稍微长一点的字符串就可能导致引擎挂起。这是模式本身的特性,而不是测试器的问题——在这里发现它,你可以简单地重新加载页面,这比在生产环境中发现要好得多。
- 此工具会上传我的数据吗?
- 不会。所有操作都在您的浏览器中完成,因此您的数据永远不会离开您的设备 — 甚至在页面加载后也可以离线使用。