Handytool
开发者免费本地运行

正则表达式测试器

针对任何文本测试 JavaScript 正则表达式 — 实时查看匹配项、捕获组和替换,在浏览器中。

//g
标志
测试字符串
匹配项 · 0 个匹配项
替换结果

关于正则表达式测试器

Handytool 的正则表达式测试器让你在浏览器中针对任何测试字符串实时构建和调试 JavaScript 正则表达式。切换每个标志(g、i、m、s、y、u),查看每个匹配的编号捕获组,并尝试带有 $1、$2 占位符的替换模板。该模式由浏览器的原生 RegExp 引擎评估,所以这里看到的内容与生产代码完全一致。

正则表达式测试器功能

  • 01

    实时匹配和捕获组

    每次按键都重新运行该模式。每个匹配显示其在输入中的索引及所有捕获的组,因此在调整表达式时可以确认结构。

  • 02

    所有 JavaScript 标志

    单独翻转 g、i、m、s、y 和 u。包括粘性和 unicode 标志,以便可以复现应用程序代码使用的内容。

  • 03

    替换预览

    输入带有 $1、$2、$& 等的替换字符串,查看替换的输出实时更新 — 适合一次性大量文本编辑或复杂转换的检查。

正则表达式测试器常见问题

这个测试器使用哪种正则表达式语言?
JavaScript (ECMAScript)。模式由浏览器的原生 RegExp 引擎评估,行为与 Node.js 和任何现代浏览器匹配。支持后行断言、命名组和 Unicode 属性转义(\p{…}含u标志)。
我的模式或测试字符串会离开页面吗?
不会。一切都在浏览器本地运行 — 当你输入模式、更改标志或预览替换时,不会进行网络请求。
如何在替换字段中使用捕获组?
使用 $1、$2… 引用编号的捕获组,$& 引用整个匹配,$$ 插入文字 $。替换预览在更改模式或模板时实时更新。
为什么我的正则表达式不在换行符间匹配?
默认情况下,点 (.) 不匹配换行符。启用 s(dot-all)标志,或使用 [\s\S] 匹配任何字符包括换行符。
这是否适用于 Python 或 PCRE 模式?
引擎是 JavaScript,所以大多数基本模式的行为相同,但诸如 (?P<name>…) 命名组(Python)或占有量词(PCRE)等功能不支持。使用等效的 JS 语法:(?<name>…) 用于命名组。

相关工具

开发者

探索更多工具

全部工具