WMW

正则表达式测试工具

Free

使用原生 JavaScript 正则表达式引擎测试文本中的正则表达式,提供实时匹配高亮、编号和命名捕获组的完整分解,以及可预览 String.replace() 输出的可选替换模式。

完全在您的浏览器中使用原生 JavaScript 正则表达式引擎运行。不会向任何地方上传任何内容。

/ /

高亮匹配项

匹配项

最近活动

所有人可见。所有访客的最近 20 次使用记录,最新的在前。

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 小时前

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 小时前

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 小时前

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 小时前

Tested a pattern (50 chars, flags: (none)) -- 1 match(es)

2 小时前

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 小时前

评论 (0)

觉得这个工具有用吗?留下评论、分享一个小技巧,或者告诉我们如何改进它。

访客评论在发布前会经过审核。 登录 即可立即发布。

暂无评论,快来抢沙发分享您的想法吧!

此工具的功能

此工具使用浏览器的原生 JavaScript 正则表达式引擎,针对一段文本测试一个正则表达式。匹配项会直接在文本中高亮显示,每个匹配项都会被分解为其编号和命名捕获组,并且可选的替换模式会准确显示 String.replace() 使用您的模式和替换文本会产生的结果。

工作原理

您的模式和所选标志会被编译成一个真正的 JavaScript RegExp 对象。启用全局标志后,该工具会在文本上反复调用 exec(),每次越过一个匹配项(对于空匹配项则额外前进一个字符以避免无限循环),直到找不到更多匹配项为止;如果未启用全局标志,exec() 只会调用一次。高亮显示是通过按顺序遍历匹配项,并将每个匹配的子字符串用标记包裹起来构建的,同时保持周围文本不变。替换模式会使用您编译好的模式和替换字符串调用文本自身的 replace() 方法,因此结果与您自己的 JavaScript 代码产生的结果完全相同。

解决的问题

常见问题

›此工具使用的是哪种正则表达式方言?

此工具通过浏览器自身的原生 JavaScript RegExp 引擎运行您的模式,因此其行为与真实 JavaScript 代码、Node.js 或浏览器端表单验证器中的正则表达式完全一致,而不是像 PCRE(PHP,以及带有 re 模块的 Python 都有自己的特殊之处)或 .NET 正则表达式那样的不同方言,它们在后行断言支持、命名组语法和其他一些细节上可能有所不同。

›g、i、m、s 和 u 这些标志实际上改变了什么?

g(全局)会查找每一个匹配项,而不是在第一个匹配项处停止;i 使匹配不区分大小写;m 使 ^ 和 $ 匹配每一行的开头和结尾,而不仅仅是整个字符串的开头和结尾;s(dotall)使 . 也能匹配换行符,而默认情况下它不能;u 启用完整的 Unicode 模式,这会影响字符类和代理对(基本多语言平面之外的字符,例如许多表情符号)的处理方式。

›为什么我的模式中有括号,但某些捕获组却显示为缺失?

作为交替结构 (A|B) 一部分的捕获组只在该交替分支确实匹配时才会捕获,因此来自未使用分支的组会被报告为未参与,这是正则表达式的标准行为,并非某个特定匹配中的错误。

›替换模式如何解释我的替换文本?

替换模式使用 JavaScript 自身的 String.replace() 替换语法:$1、$2 等插入编号捕获组,$<name> 插入命名组,$& 插入整个匹配项,$$ 插入一个字面美元符号,其行为与在真实 JavaScript 代码中完全一致。

›我预期有多个匹配项,但我的模式只匹配了一次,为什么?

请检查是否已启用全局(g)标志;如果没有启用,匹配列表和 String.replace() 都只会作用于找到的第一个匹配项,这是 JavaScript 正则表达式的标准行为,不是此工具的限制。

相关工具

Free

文本

Cron 表达式生成器

通过实时字段编辑器、通俗易懂的说明以及接下来 5 次实际运行时间来构建和解析 cron 表达式。支持预设、@ 快捷方式以及可选的 6 字段带秒变体。

Free

文本

凯撒密码工具

使用经典凯撒密码对文本进行加密或解密,提供A-Z映射表、暴力破解列表、字母频率图表以及ROT13快捷方式。

Free

文本

ASCII 艺术生成器

将输入的文字或上传的图片转换为 ASCII 艺术字。选择字体样式或字符渐变,保留颜色,并导出为纯文本或 PNG。

Free

文本

密钥/配置脱敏工具

粘贴 .env 或配置文件,API 密钥、密码和令牌会在敏感键名或已知密钥格式(AWS、GitHub、Stripe、JWT、PEM)旁自动遮盖。之后可安全地粘贴给聊天 AI 或错误报告。

Free

文本

DMARC记录生成器

通过简单易懂的字段构建 DMARC DNS 记录,内置分阶段部署预设和实时强制执行级别指示器。

Free

文本

Excel转HTML表格转换器

从 Excel 或 Google 表格粘贴,或上传 .xlsx/.xls/.csv 文件,获得带实时预览、可选样式和数字列对齐的简洁 HTML 表格。

Free

文本

哈希生成器 (MD5/SHA1/SHA256/SHA512)

一次性将文本或文件哈希为 MD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-512、RIPEMD-160 和 CRC32,并附带与已知校验和比对的字段。

Free

文本

htpasswd生成器

使用 bcrypt 或 SHA 生成真实的 Apache .htpasswd 文件,已与官方 htpasswd 命令行工具逐字节核对,支持同时添加多个用户。