文本
正则表达式测试器
正则表达式测试器是一款只需输入模式与测试文本,就能实时查看匹配位置高亮、捕获组内容、替换预览以及按构成元素拆分的语法说明的工具。无论是 Web 开发中的表单校验设计、从日志中提取 ID、对文本做一次性的批量替换,还是边动手边学习正则表达式,都能派上用场。
正则表达式语法说明
输入模式后,按构成元素拆分的说明会显示在这里。
把当前模式、标志、测试文本与替换模板保存到 URL,通过链接分享。
你输入的模式与文本全程在浏览器中处理,不会发送到任何服务器。
相关工具
字数统计
实时统计文本的字数、字符数、去除空白后的字符数与行数的免费字数统计工具,适合公众号、论文与文案场景。免费无广告、无需注册,全程在浏览器中完成。
文本对比
按行、单词、字符粒度可视化两段文本差异的对比(diff)工具,支持中文逐字对比、忽略空白与大小写,并以 unified diff 复制结果,全程在浏览器中完成。
JSON 格式化 / 校验
粘贴 JSON 即可校验语法并按指定缩进(2/4/制表符)格式化、美化,格式化与校验同时完成,适合查看 API 响应与配置文件。免费无广告,全程在浏览器中完成。
密码生成器
按长度、字符集与排除易混字符(0/O、1/l)批量生成强随机密码的免费密码生成器。密码在浏览器本地生成、不上传,免费无需注册,全程在浏览器中完成。
正则表达式测试器是什么?
正则表达式测试器是一款只需输入模式与测试文本,就能实时查看匹配位置高亮、捕获组内容、替换预览以及按构成元素拆分的语法说明的工具。无论是 Web 开发中的表单校验设计、从日志中提取 ID、对文本做一次性的批量替换,还是边动手边学习正则表达式,都能派上用场。
g / i / m / s / u / y 标志可以单独切换;当模式不合法时,会立即在输入框下方显示错误原因,而不会让页面崩溃。匹配数量、捕获组数量以及执行时间(毫秒)会与结果一同显示,方便确认复杂模式的行为或大致评估性能。
电子邮件地址、URL、电话号码(日本)、邮编、IPv4、日期、HTML 标签、十六进制颜色代码等常用模式都可以从预设菜单中一键插入。在替换模板里可以使用 $& 表示整体匹配、$1 $2 表示第 1、2 个捕获、$<name> 引用命名捕获,结果会在"匹配结果"与"替换结果"两个标签页之间切换。点击"复制分享 URL"按钮可以把当前的模式、标志、测试文本和替换模板一并打包到 URL 中,分享给团队成员。
所有处理都在你的浏览器内完成。你输入的模式与测试文本不会发送到任何服务器,可以放心地在含有公司内部信息或个人数据的文本上试用正则。全程在浏览器中完成。
使用方法
- 在"模式"输入框中填入正则表达式。也可以从预设菜单中一键插入电子邮件、URL 等常用模式。
- 切换右侧的 g / i / m / s / u / y 标志,控制全局匹配、是否区分大小写等行为。
- 把要匹配的文本粘贴到"测试文本"输入框。可以用"插入示例"按钮立即看到效果。
- 下方结果区会高亮所有匹配位置,并显示匹配数、捕获组与执行时间。
- 切换到"替换结果"标签页,在"替换模板"中填入替换后的字符串(可以用 $1 或 $& 等引用),即可看到实时替换预览。
- 在"正则表达式语法说明"中可以看到把当前模式按构成元素拆分后的中文说明。
- 点击"复制分享 URL",当前的模式、标志、测试文本与替换模板会被打包到 URL 中,他人通过这条链接就能重现完全相同的画面。
使用场景
- 希望先用实际字符串验证一遍表单校验正则,再写进生产代码的 Web 工程师。
- 需要从服务器日志、访问日志中按规则提取 ID、路径或状态码的运维。
- 在对稿件或 CSV 数据做批量替换之前,想要安全地预览替换效果的撰稿人与编辑。
- 在代码评审或技术分享中,希望用分享 URL 直接把正则示例与测试用例发给同事的负责人。
- 在学习正则表达式时,想一边动手一边查看每个语法元素含义的初学者。
注意事项
- 本工具基于浏览器内建的 JavaScript 正则表达式(ECMAScript RegExp),不支持 PCRE 或 Oniguruma 特有的语法(如 \K、可变长的反向断言等)。
- 当 g 标志未开启时,匹配与替换都只针对第 1 个结果。要处理全部匹配请开启 g 标志。
- 开启 u 标志可以正确处理代理对与 Unicode 属性(\p{...}),同时字符集合中的转义要求会变严格。如果行为变化请检查 u 标志的开关。
- 为避免极端情况下的卡顿,测试文本超过 50 万字符时会在计算前被截断,匹配结果数最多保留 10,000 项。
- 由于"复制分享 URL"会把测试文本作为查询字符串放入 URL,请在分享前确认其中不包含敏感内容。当文本较长时会被自动从 URL 中省略,并在界面上提示。
- 语法说明覆盖了主要构成(字符类、量词、组、选择、字符集合)。前瞻、后顾以及 Unicode 属性等会以"不支持的语法"按原文显示。