正则表达式测试工具
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 小时前
此工具的功能
此工具使用浏览器的原生 JavaScript 正则表达式引擎,针对一段文本测试一个正则表达式。匹配项会直接在文本中高亮显示,每个匹配项都会被分解为其编号和命名捕获组,并且可选的替换模式会准确显示 String.replace() 使用您的模式和替换文本会产生的结果。
工作原理
您的模式和所选标志会被编译成一个真正的 JavaScript RegExp 对象。启用全局标志后,该工具会在文本上反复调用 exec(),每次越过一个匹配项(对于空匹配项则额外前进一个字符以避免无限循环),直到找不到更多匹配项为止;如果未启用全局标志,exec() 只会调用一次。高亮显示是通过按顺序遍历匹配项,并将每个匹配的子字符串用标记包裹起来构建的,同时保持周围文本不变。替换模式会使用您编译好的模式和替换字符串调用文本自身的 replace() 方法,因此结果与您自己的 JavaScript 代码产生的结果完全相同。
解决的问题
- 调试为什么你实际 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 正则表达式的标准行为,不是此工具的限制。
相关工具
文本
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 命令行工具逐字节核对,支持同时添加多个用户。
评论 (0)
觉得这个工具有用吗?留下评论、分享一个小技巧,或者告诉我们如何改进它。
暂无评论,快来抢沙发分享您的想法吧!