正则表达式测试

实时测试正则匹配,支持常用标志与分组捕获高亮。

什么是正则表达式测试?

正则表达式(Regular Expression,简称 regex)是一种用特定语法描述文本匹配规则的工具,常用于校验手机号、邮箱格式,或从一段文本中提取、替换特定内容。正则表达式测试工具让你输入一个正则模式和一段测试文本,实时高亮显示所有匹配到的部分,并列出每个匹配的分组捕获内容,帮你在写正则时即写即测,不用等到代码跑起来才发现规则写错了。

为什么使用正则表达式测试?

正则表达式语法简洁但容易写错,比如忘记转义特殊字符、贪婪匹配抢了不该匹配的内容、分组编号搞混等,单纯靠脑内推演很容易出错。用测试工具可以在真实文本上验证规则是否符合预期,尤其在做表单校验、日志提取、批量替换文件内容等任务时,先在工具里调试通过再放进代码,能省下大量反复运行调试的时间。相比查阅正则语法手册,边写边看匹配结果的反馈方式更直观。

使用示例

校验手机号

正则 ^1[3-9]\d{9}$,测试文本"13812345678",会高亮显示整段匹配成功;测试"12345"则不匹配,提示不符合规则,可用于判断表单输入是否为合法手机号。

提取邮箱地址

正则 [\w.+-]+@[\w-]+\.[a-zA-Z]{2,},在一段包含"联系邮箱:[email protected],备用:[email protected]"的文本中,会分别高亮出两个邮箱并列出匹配列表,方便复制或统计数量。

分组捕获日期

正则 (\d{4})-(\d{2})-(\d{2}) 匹配"2026-07-27",工具会展示 3 个捕获分组分别为年、月、日,方便理解 replace 时 $1、$2、$3 分别对应什么内容。

使用提示

调试复杂正则时,建议先用简单的测试文本逐步验证每个子表达式,再拼接成完整规则,避免一次性写一长串正则导致出错时难以定位问题所在。

常见问题

支持哪些标志(flags)?
支持 g(全局)、i(忽略大小写)、m(多行)、s(dotAll,让 . 匹配换行)。勾选后实时重新匹配。
为什么没有匹配结果?
检查是否需要转义特殊字符(. * + ? ( ) [ ] 等)与是否勾选了合适标志;语法错误会在上方提示。
数据会上传吗?
不会。匹配用浏览器内置 RegExp 在本地完成。
支持哪些正则标志(flags)?
通常支持 g(全局匹配)、i(忽略大小写)、m(多行模式,^ $ 匹配每行开头结尾)、s(. 匹配换行符)等 JavaScript 正则常用标志,可以按需勾选组合。
为什么我的正则在这里能匹配,放到代码里却不行?
常见原因是不同语言的正则引擎语法有细微差异(比如 Python 用 re 模块、Java 用 java.util.regex),本工具基于浏览器 JavaScript 的正则引擎,绝大多数语法通用,但部分高级特性(如 Python 的命名分组语法 (?P<name>...))写法略有不同。
什么是贪婪匹配和非贪婪匹配?
默认情况下 * 和 + 是贪婪的,会尽量匹配更长的内容;在后面加 ? 变成非贪婪,如 .*? 会尽量匹配更短的内容,两者对提取结果影响很大,建议在工具里对比试一下就能直观理解。
中文文本能正常匹配吗?
可以,正则引擎按 Unicode 字符处理,可以直接在模式中写中文字符,或用 \u4e00-\u9fa5 这样的范围匹配中文字符区间。

相关工具

相关教程

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。