Tool Detail
正则测试(基础)
测试正则表达式与匹配结果。
使用说明
这个工具能做什么
在线测试正则表达式的匹配结果。输入 Pattern、Flags 和待匹配文本,实时看到哪些内容被命中——用来验证一条正则是否写对,避免把它塞进代码里才发现匹配错了。
怎么用
- 在
Pattern里写正则(不含两侧的/) - 在
Flags里填修饰符,例如gim - 在文本区粘待匹配内容,结果区高亮显示命中部分
延伸阅读
常见问题
Flags 都能填什么?
常用的几个:g 全局匹配(找到所有结果,不加只返回第一个)、i 忽略大小写、m 多行模式(^/$ 匹配每行首尾)、s 让 . 匹配换行、u Unicode 模式(正确处理中文、emoji 和 \p{...})、y 粘性匹配。多个可组合,如 gim。
为什么只匹配到一个结果?
没加 g。不加全局标志时,正则引擎在第一个匹配后就停止。
支持命名分组和反向引用吗?
本工具基于 JavaScript RegExp,支持 (?<name>...) 命名分组、\1 反向引用、(?=...) 前瞻。注意高亮展示的是整体匹配,不一定单独标出每个分组的内容。
为什么同一表达式在 Python/Java 里结果不一样?
各语言正则方言不同:Python 的命名分组是 (?P<name>...),\p{L} 需要 regex 模块;Java 又不一样。本工具按 JS 标准,跨语言移植时要重测。
会匹配到一半卡死吗?
极端回溯(ReDoS)确实可能让浏览器卡住,典型是嵌套量词如 (a+)+$ 配上长串不匹配文本。写正则时避免嵌套的 +/*,必要时用占有量词思路或限制输入长度。
我输入的文本会外传吗?
不会,正则匹配在本地完成。