Developer Utility

JavaScript正则表达式测试器

输入正则表达式和测试文本,实时查看匹配结果、捕获组和标志行为。适合验证邮箱、URL、手机号、日期、话题标签和代码模式。

实时匹配 输入正则表达式和测试文本后,立即高亮显示匹配结果。
标志测试 可选择 g、i、m、s、u、y 标志,查看正则表达式行为差异。
捕获组查看 以 JSON 形式查看匹配列表和捕获组,并可复制结果。

正则表达式测试

输入正则表达式模式和测试文本,查看匹配预览和结果列表。

表达式 /.../g
匹配 0 项 分组 0 项 字符 0 字符 等待测试

匹配结果

匹配到的字符串会在预览中高亮显示,详细结果会整理为 JSON。

等待测试

匹配预览

0项
输入测试文本后,匹配结果会显示在这里。

匹配列表

[]

捕获组

[]

常用正则示例

点击常用模式即可立即加载正则表达式和示例文本。

使用指南

用匹配与不匹配样例测试JavaScript正则表达式

利用浏览器RegExp查看匹配内容、索引和捕获组。通过工作线程和执行限制,减少高开销表达式阻塞页面的情况。

适用人群

  • 测试文本规则的开发者
  • 提取结构化片段的用户

使用场景

  • 捕获日期字符串的组成部分。
  • 检查Unicode和零长度匹配。

从输入到检查结果

  1. 1

    准备已脱敏的正例和反例文本。

  2. 2

    输入表达式主体,不加两端斜杠。

  3. 3

    选择需要的JavaScript标志。

  4. 4

    运行后检查索引与捕获组。

  5. 5

    简化耗时表达式,并在实际运行环境重新测试。

使用示例 1

捕获日期

输入
表达式 (\d{4})-(\d{2})-(\d{2});文本2026-10-01
结果
匹配2026-10-01,捕获组为2026、10、01。

匹配这种形式不等于验证日期真实存在。

使用示例 2

Unicode零长度匹配

输入
表达式(?:);标志gu;文本😀
结果
在UTF-16索引0和2产生零长度匹配。

Unicode模式按完整代理对向前移动。

计算与处理原理

上限为表达式500个代码单元、文本20,000个代码单元、1,000条匹配和400ms工作线程超时。支持g、i、m、s、u、y,行为遵循JavaScript。Unicode模式下的空匹配按代码点推进。

限制与注意事项

  • JavaScript与PCRE、RE2等引擎的语法不同。
  • 样例通过或线程超时限制不保证生产性能。
  • 浏览器策略可能阻止工作线程启动。
  • 界面需要测试文本;导出的JSON包含匹配内容。
数据处理

表达式和文本保留在浏览器中。测试或导出前请删除日志中的隐私值。

常见问题

为什么表情符号的长度是2?

即使用u按代码点匹配,索引和长度仍使用UTF-16位置。

正好1,000条能返回吗?

可以。发现第1,001条时才停止,不会悄悄返回截断报告。

为什么超时?

表达式超过本地执行预算,请检查嵌套重复和重叠分支。