正则表达式测试器 - 实时安全地调试正则

2on /
/ 开发者工具 / 正则测试器

正则表达式测试

/ /

修饰符

用 $1、$2 引用捕获组,用 $& 表示整个匹配。

本测试器运行的是浏览器自带的 JavaScript 引擎,因此方言是 ECMAScript。为 PCRE、Python 或 .NET 编写的表达式可能表现不同,尤其是在后行断言、原子组、占有量词和 Unicode 属性转义方面。

这个正则测试器能做什么

正则表达式写起来容易,确信它对不对却很难。本页让你看到,你的表达式在你自己的文本里到底匹配了什么、捕获了哪些组、替换后会变成什么样——在它接触生产数据之前。

使用方法

  1. 1 在两条斜杠之间输入表达式,并勾选需要的修饰符。
  2. 2 在下方粘贴真实文本,越杂乱越好,然后点击“运行”。
  3. 3 用高亮视图快速核对,用表格查看捕获组,再填写替换内容预览改写效果。

为什么表达式在独立的 worker 里运行

有些表达式会爆炸。像 (a+)+$ 这样的嵌套量词,在一段“几乎匹配”的字符串上会迫使引擎尝试天文数字般的路径,而已经开始运行的正则无法从启动它的页面中断。放进 worker 里运行,就可以在两秒后终止它,于是一个糟糕的表达式只让你看到一条提示,而不是一个卡死的标签页。

速查表

\d 一个数字
\w 字母、数字或下划线
\s 任意空白字符
. 除换行外的任意字符
^ $ 文本的开头和结尾
* + ? 零次或多次、一次或多次、零次或一次
{2,5} 重复 2 到 5 次
(...) 捕获组,可用 $1 引用
(?<ad>…) 命名组,在长表达式里更好读
[a-z] 集合中的任意一个字符
a|b 左边或右边任选其一
\b 单词边界,本身不匹配任何字符

方言很重要

在这里可用的表达式,可能在你的服务端代码里失效,反过来也是。JavaScript、PCRE、Python 和 .NET 在支持的语法上不同,有时同一写法的含义也不同。请在你实际部署的方言里测试;凡是要在浏览器中运行的,这个页面就是合适的地方。

大多数错误藏在捕获组里

匹配本身往往没错,错的是捕获:某个组是可选的,于是返回未定义;或者因为一个括号挪了位置,两个组互换了。表格把每次匹配的每个组并排列出,这是最快发现 $2 并不是你以为的那个的方法。

你输入的内容不会被发送到任何地方

测试文本很少是编出来的。人们会粘贴日志行、客户资料和付款流水号,看看表达式能不能命中。表达式和文本都留在页面里,因此拿真实数据做测试,并不等于把这些数据交给谁。

正则测试器 - 常见问题

是 ECMAScript,因为引擎就是你的浏览器。先行断言和命名组可用,后行断言取决于浏览器版本,原子组和占有量词则根本不存在。为 PHP 或 Python 写的表达式,应当在它实际运行的地方测试。
颜色转换器 在 HEX、RGB 和 HSL 之间转换颜色,生成明暗色阶,并检查它与白色、黑色或任意第二种颜色的对比度。
今日热门
密码生成器 在浏览器里用设备的加密随机源生成密码,并以熵的比特数看到真实强度,而不是一根含义模糊的彩色条。

相关开发工具

MD5生成器 免费 MD5 生成器:在浏览器中把文本或文件转换为 MD5 校验值,适合完整性校验与快速比对。
Base64编码器和解码器 免费 Base64 编码与解码:在浏览器中将文本或文件转为 Base64 并还原,数据不会上传到服务器。
Lorem Ipsum 生成器 免费 Lorem Ipsum 生成器:按段落、句子或字数生成占位文本,可选加入 HTML 标签用于设计稿。
JWT 解码器 免费 JWT 解码器:粘贴令牌即可查看头部、载荷与签名,解析在浏览器中完成,数据不会外传。
URL 编码与解码 免费 URL 编码解码工具:把链接与查询参数转为百分号编码并还原,支持整条 URL 或单个部分。

您可能喜欢的其他工具

Word转PDF 免费把 Word 转成 PDF:上传 DOC、DOCX、ODT 或 RTF 文件,几秒内下载排版完好的 PDF,无需注册。
PDF转Word 免费把 PDF 转成 Word:上传 PDF,几秒内下载可编辑的 DOCX 文件,无需注册,也没有水印。
字数统计器 免费字数统计:粘贴文本即可统计字数、字符、句子与段落,并估算阅读时间,内容不会离开浏览器。
字符计数器 免费字符统计:统计含空格与不含空格的字符数、词数和行数,并检查标题与元描述的 SEO 长度限制。
关键词密度检查器 免费关键词密度分析:粘贴文本或网址,查看每个词与短语出现的次数及占比,辅助内容优化。