正则表达式在线测试工具

本地实时匹配高亮 / 捕获组 / 替换预览

0 字符

常用示例

0 处匹配结果

匹配列表

暂无匹配

修改表达式或测试文本后自动更新。

正则表达式在线测试:正则匹配 / 替换与捕获组

正则表达式在线测试(也称正则测试工具、正则在线、Regex 测试器、正则匹配、正则替换、regex tester)可在浏览器本地编写 JavaScript 正则、勾选修饰符,并对测试文本做实时高亮匹配、列出捕获组,以及执行替换预览。适合校验邮箱 / 手机号 / URL 等规则、调试接口校验表达式、排查替换模板。全部在本地完成,文本与表达式不上传。

什么是正则表达式

正则表达式(Regular Expression / RegExp)用一套符号描述「字符串模式」,可从文本中查找、提取或替换符合规则的片段。常见于表单校验、日志过滤、文本清洗、爬虫解析与代码搜索。本页引擎为浏览器原生 JavaScript RegExp(ECMAScript),与 PHP / Python / Java 等方言在部分语法与标志上略有差异,跨语言移植时请对照各自文档。

怎么用正则测试工具

  1. 在「正则表达式」框输入模式(无需手写首尾 /),用芯片或右侧框设置 g i m s u y 等修饰符。
  2. 在「测试文本」粘贴样例;输入时会自动匹配并高亮,右侧列出序号、起止下标与捕获组。也可点「测试」立即刷新。
  3. 需要改写文本时切换「替换 Replace」,填写替换串(可用 $1、$& 等),查看替换结果并一键复制。
  4. 可点「常用示例」快速载入邮箱、手机号、URL、日期、IP、身份证、后行断言等模板。

常用修饰符

  • g:全局匹配,找出全部命中,而不是只停在第一处。
  • i:忽略大小写。
  • m:多行模式,使 ^ / $ 匹配每一行的行首 / 行尾。
  • s:点号 . 可匹配换行符(dotAll)。
  • u:Unicode 模式,正确处理码点与部分 Unicode 属性。
  • y:粘性匹配,从 lastIndex 位置开始匹配。

替换引用

  • $1、$2…:对应捕获组;命名组可用 $<name>(视浏览器支持而定)。
  • $&:整段匹配内容;$` 匹配前文本;$' 匹配后文本。
  • $$:字面量美元符号 $。

常见用途

  • 核对前端 / 后端校验规则是否与样例一致。
  • 从日志、配置、表格文本中提取邮箱、订单号、日期等字段。
  • 调试批量替换模板,确认捕获组编号与替换结果。

常见问题

内容会上传吗?

不会。匹配与替换均在浏览器本地用 JavaScript 完成,不提交到服务器。

为什么和 PHP / Python 结果不一样?

各语言正则方言不同(如回溯、占有量词、部分断言、标志位)。本页以 JS RegExp 为准;若目标环境是别的语言,请用对应引擎再验一次。

出现「语法错误」怎么办?

常见原因:未转义的 \、括号未闭合、无效量词、不支持的标志组合。按报错信息修正后会自动重试。

贪婪和非贪婪有什么区别?

*、+ 默认贪婪,会尽量多匹配;写成 *?、+? 为非贪婪,尽量少匹配。例如对 <div>a</div>,<.+> 可能整段吃掉,<.+?> 更易只吃到第一个 >。

零宽匹配是什么?

如 (?=…) 断言或 \b 可能匹配长度为 0 的位置,高亮里会显示细竖线标记,列表中记为「零宽」。

会不会卡死页面?

极端回溯(灾难性回溯)的正则在大数据上可能导致浏览器短暂卡顿。本页对全局匹配条数做了上限截断;生产环境请避免对不可信输入使用复杂嵌套量词。

相关网络工具

免责声明

本工具仅供学习与调试参考,不保证与所有语言 / 引擎行为完全一致。请勿对不可信的超大文本运行高复杂度正则;因误用、性能问题或结果偏差造成的损失由使用者自行承担。

评论

0/2000

相关工具