工具

正则表达式在线测试

输入正则和测试文本,列出每一处匹配的位置、匹配内容,以及编号分组和具名分组的值。基于浏览器内建的 JavaScript RegExp 引擎。

怎么用

正则只填表达式本身,不需要写两边的斜杠。标志位单独填在右边,默认是 g。匹配结果会按顺序列出每一处的起始位置和内容,有捕获分组时逐个列在下面。

常见问题

为什么只匹配到第一处?

标志位里没有加 g。不加 g 时正则只返回第一个匹配,这是 JavaScript RegExp 的默认行为,本工具会在结果里明确提示。

标志位都有哪些?

g 全局匹配、i 忽略大小写、m 让 ^ 和 $ 匹配每一行的首尾、s 让点号也能匹配换行符、u 启用 Unicode 模式、y 粘性匹配。可以组合使用,比如 gi。

支持的是哪种正则方言?

JavaScript(ECMAScript)的 RegExp。它支持前瞻、后顾、具名分组和 Unicode 属性转义,但不支持 PCRE 里的原子组、占有量词和递归匹配,也没有 \A 和 \z 这两个锚点。从 Python 或 PHP 迁移正则时要留意这些差异。

为什么结果最多只有 2000 条?

这是防止病态正则把页面卡死的保护上限。某些写法在特定输入下会产生灾难性回溯,浏览器会长时间无响应,所以全局匹配达到 2000 条就会停下来并给出提示。

其他工具