正则表达式测试

在线测试JavaScript正则表达式,查看匹配结果、普通与命名捕获组及起止位置。支持全局、忽略大小写、多行等标志,在浏览器中运行。

测试
0 个字符
处理结果

处理结果将显示在这里。

如何测试正则表达式

  1. 在输入框粘贴需要查找的文本。
  2. 输入表达式本身,不加两侧的/分隔符;g、gi等标志填入单独的标志栏。
  3. 执行测试,查看每次匹配、起止位置及捕获组。修改表达式或标志后可再次测试。

正则表达式测试使用要点

本工具使用JavaScript语法,不是PCRE或Python语法。位置按JavaScript的UTF-16偏移计数。匹配在独立线程中运行,设有硬超时,可取消灾难性回溯。

用捕获组提取代码与数字

输入内容
输入内容 AU-42 NZ-7 正则表达式 (?<code>[A-Z]{2})-(\d+) 标志 g
处理结果
{ "matches": [ { "value": "AU-42", "index": 0, "end": 5, "captures": [ "AU", "42" ], "groups": { "code": "AU" } }, { "value": "NZ-7", "index": 6, "end": 10, "captures": [ "NZ", "7" ], "groups": { "code": "NZ" } } ], "truncated": false }

正则表达式测试常见问题

应该输入/pattern/g,还是只输入表达式?

只输入表达式,例如(?<code>[A-Z]{2})-(\d+),g填在标志栏。不要加JavaScript字符串引号,也不必像源码字符串那样把反斜杠写成双反斜杠。本工具使用浏览器的JavaScript RegExp引擎,不是Python、PCRE或.NET,语法和支持范围可能不同。

g、i、m、s、u、v、y分别是什么意思?

g查找多个不重叠的匹配;i忽略大小写;m让^和$也能匹配行边界;s让.匹配换行符。u与v启用Unicode相关模式,不能同时使用。y要求下一次匹配恰好从当前位置开始。较新的标志是否可用取决于浏览器。

捕获组和匹配位置应该怎么看?

(…)按编号捕获,(?<name>…)还会为捕获组命名。未匹配到的可选组显示为null。位置从0开始,结束位置不包含在匹配内。偏移量与JavaScript一样按UTF-16单元计算,不是按可见字符计数,表情可能占两个单元。零宽匹配的起止位置相同。

为什么没有匹配,或者测试中途停止?

请检查表达式、标志、换行和大小写。没有g或y时只返回第一个匹配。最多展示1,000个匹配,超过时会提示结果已截断。输入过大或回溯过于复杂会触发大小、耗时限制;处理线程会停止,避免页面一直卡住。可缩小测试文本,或简化嵌套的量词。

文件、令牌和文本会上传吗?

不会。这些工具都在您的浏览器中处理输入。网站只提供页面和程序代码,不会把输入发送到转换服务器,也不会保存到账户里。

常见用途与示例

全部开发者工具

编码与文件转换

在文本、二进制、网址和内嵌图片之间转换,保留原始数据。

数据与文本检查

读懂结构化数据和令牌,清楚查看文本的每一处变化。

哈希、标识符与定时规则

核对文件完整性,生成标识符,转换时间并预览定时任务。

输入内容和文件均在本机处理。请勿将敏感结果留在共享剪贴板中,处理私钥和令牌时请使用可信设备。