正则测试
测试和验证正则表达式
正则表达式
//
测试文本0 个匹配
替换(可选)
匹配结果
输入正则表达式开始匹配
常用正则
语法参考
.任意字符\d数字\w字母数字\s空白字符^开头$结尾*0+次+1+次?0或1次{n}n次[abc]字符集()捕获组功能特点
专业的正则表达式测试工具
实时高亮
匹配内容实时高亮显示,直观展示匹配结果
捕获组支持
显示每个匹配的捕获组内容,方便调试复杂正则
替换功能
支持替换操作,可使用 $1、$2 等引用捕获组
标志切换
一键切换 g/i/m/s/u 等标志,灵活控制匹配行为
常用模板
内置邮箱、手机号、URL 等常用正则表达式模板
隐私安全
所有处理在浏览器本地完成,测试内容不会上传
常见问题
关于正则表达式的常见疑问
正则表达式中的标志有什么作用?
g (global):全局匹配,查找所有匹配项而非仅第一个。i (case-insensitive):忽略大小写。m (multiline):多行模式,^ 和 $ 匹配每行的开头结尾。s (dotAll):让 . 匹配包括换行符在内的任意字符。u (unicode):启用 Unicode 模式,正确处理 Unicode 字符。
什么是捕获组?怎么使用?
用圆括号 () 包围的部分会被捕获,可以在替换时用 $1、$2 等引用。例如:正则 (\d+)-(\d+) 匹配 "2023-12" 时,$1 是 "2023",$2 是 "12"。替换为 $2/$1 结果是 "12/2023"。
贪婪模式和非贪婪模式有什么区别?
贪婪模式(默认):尽可能多地匹配字符。如 a.*b 匹配 "axxbxxb" 中的 "axxbxxb"。非贪婪模式:在量词后加 ? 表示尽可能少地匹配。如 a.*?b 匹配 "axxbxxb" 中的 "axxb"。
如何匹配特殊字符本身?
需要转义的特殊字符:. * + ? ^ $ { } [ ] \ | ( )。在这些字符前加反斜杠 \ 即可匹配字符本身。例如:匹配 "3.14" 使用 3\.14,匹配 "(test)" 使用 \(test\)
JavaScript 和其他语言的正则有区别吗?
本工具使用 JavaScript 正则引擎,与大多数语言兼容但有细微差异:• JavaScript 不支持后行断言的某些语法(新版本已支持)• 不支持命名捕获组的某些语法• 标志字母可能略有不同(如 Python 使用 re.IGNORECASE)。基本语法在各语言间通用。