正则表达式测试工具
输入正则与测试文本,实时查看匹配高亮、捕获组与替换结果。全程本地运行,内容不会上传。
//
测试文本
匹配结果(高亮显示)
替换预览(用 $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 完成,不发送任何网络请求,可以放心测试包含敏感信息的文本。