只写模式主体
输入 (?<=a)b,不带 / 分隔符。载入示例会先预览覆盖内容,应用后可撤销一次。
- 空模式可以手动运行,但初始页面不会自动给出匹配。
正则与模式匹配
选择已实现的引擎,输入模式主体和文本,再手动运行本地测试。
只输入模式主体,不带 / 分隔符;RE2 内部始终使用 Unicode。
等待输入或手动测试。
所有匹配均在浏览器本地独立线程执行,不上传表达式或测试文本。
等待输入或手动测试。
只有 PCRE2 和 RE2 在本站执行;语言行是参考,不可选择运行。
| 目标 | 本站执行 | 后顾 | 反向引用 | 边界 |
|---|---|---|---|---|
| PCRE2 | 可执行 | 支持 | 支持 | PCRE2 WASM;PHP 包装层另算。 |
| RE2 | 可执行 | 不支持 | 不支持 | RE2 WASM;不是 Go 或 Rust 运行时。 |
| PHP / PCRE2 | 仅 PCRE2 核心 | 支持 | 支持 | PHP preg_* 另含分隔符与返回规则。 |
| Java | 仅供参考 | 支持 | 支持 | 本站没有 Java 运行时。 |
| Go | 仅供参考 | 不支持 | 不支持 | Go regexp 是另一种实现。 |
| Rust | 仅供参考 | 不支持 | 不支持 | Rust regex 是另一种实现。 |
| .NET | 仅供参考 | 支持 | 支持 | 本站没有 .NET 运行时。 |
从 PHP 把模式搬进 Go 服务时,JavaScript 的高亮不能证明目标引擎会接受。正则引擎测试用同一份文本展示真正的编译结果。
正则表达式引擎对比需要明确运行时。这里可做 PCRE2 正则测试;Go 正则测试和 Java 正则测试仍应在对应语言里最终确认,本站的矩阵只说明能力。
同一份输入,直接看到真实的语法差异。
正则引擎测试只开放 PCRE2 与 RE2。后顾在 PCRE2 中成功匹配,在 RE2 中会明确报语法错误。
切换引擎、修改模式、文本或选项后,复制和下载立即禁用,必须重新运行。
输入 (?<=a)b,不带 / 分隔符。载入示例会先预览覆盖内容,应用后可撤销一次。
默认 PCRE2,RE2 是独立 WASM。忽略大小写与多行选项默认关闭。
结果位置从 0 开始,以 UTF-16 为单位,结束位置不包含在内。列表每次多显示 50 条,JSON 导出包含全部有效结果。
PCRE2 接受后顾与反向引用;RE2 拒绝时展示编译错误,不会静默改用 JavaScript。
每条匹配显示编号组和命名组;RE2 的码点位置会转换为 UTF-16,避免 emoji 后高亮错位。
Worker 可被手动停止,最长运行两秒。输入、匹配条数和报告体积都有上限。
正则引擎测试默认执行 PCRE2 核心。PHP preg_* 还有分隔符和包装行为,这里不模拟。
JavaScript 能接受的后顾或反向引用在 RE2 中可能报错;最终仍需用 Go 自身 regexp 验证。
不支持。选择 RE2 后会展示真正的编译错误,而不是 JavaScript 的替代结果。
不能保证。Unicode、修饰符和捕获规则随引擎变化,迁移前应在目标运行时复测。
这里只实际执行 PCRE2 和 RE2。Java 只是能力参考,不是假装运行 Java 的正则测试器。
还有疑问?