正则表达式测试工具

输入正则与测试文本,实时查看匹配高亮、捕获组与替换结果。全程本地运行,内容不会上传。

//
测试文本
匹配结果(高亮显示)
替换预览(用 $1、$2 引用捕获组)

常用正则速查

\d \w \s数字 / 单词字符(字母数字下划线)/ 空白字符
. * + ? {n,m}任意字符 / 重复 0 次或多次 / 至少 1 次 / 0 或 1 次 / 重复 n 到 m 次
^ $整体(或开启 m 后每行)的行首与行尾
( ) [ ] ( | )捕获组 / 字符集合 / 多选一分支
(?= ) (?! )前瞻:后面必须是 / 不能是某内容,不消耗字符
\b单词边界,如 \bcat\b 不会命中 category
手机号1[3-9]\d{9}
邮箱[\w.+-]+@[\w-]+\.[\w.-]+
IPv4(\d{1,3}\.){3}\d{1,3}

常见问题

这个正则测试工具支持哪种正则语法?
采用 JavaScript(ECMAScript)正则语法,与浏览器控制台和 Node.js 一致。Python、Java 的正则写法大体相同,少数特性(如后行断言、命名组写法)存在差异。
正则标志位 g、i、m 是什么意思?
g 全局匹配(找出所有命中而非仅第一个);i 忽略大小写;m 多行模式,让 ^ 和 $ 匹配每一行的行首行尾。测试完整文本通常建议勾选 g 和 m。
为什么没有匹配到结果?
常见原因有三类:未勾选 g 导致只找第一个;^ $ 在多行文本中需要 m 标志;元字符(如 . * ( ))想匹配自身时需要加反斜杠转义。
捕获组有什么用?
括号 () 圈出的部分是捕获组,可以在替换中用 $1、$2 引用,或在代码里通过 match 结果按组取值,比如从日期文本中单独提取年份。
输入的内容会被上传吗?
不会。匹配过程完全在你的浏览器内用 JavaScript 完成,不发送任何网络请求,可以放心测试包含敏感信息的文本。