关键信息
- 分类
- Development
- 输入类型
- textarea, text, checkbox, number
- 输出类型
- json
- 样本覆盖
- 4
- 支持 API
- Yes
概览
命名分组测试器是一款专为开发者设计的在线正则表达式工具,用于解析、测试和提取正则表达式中的命名捕获组。它支持 ES2018 的 `(?<name>...)` 语法,能帮助您快速验证模式、查看匹配结果,并支持批量处理与结果导出。
适用场景
- •需要从结构化文本(如日志、URL、日期字符串)中提取特定字段时。
- •在编写或调试包含命名捕获组的复杂正则表达式,希望在部署前验证其正确性时。
- •希望学习或教学 ES2018 命名捕获组语法,并直观查看其匹配效果时。
工作原理
- •在“正则表达式模式”输入框中,输入包含命名分组 `(?<name>...)` 的正则表达式。
- •在“文本输入”区域粘贴或输入需要测试的文本内容。
- •根据需要设置正则标志(如 `g`、`i`、`m`)或启用“批处理模式”以逐行测试多段文本。
- •工具将自动解析模式,执行匹配,并以表格形式清晰展示所有匹配项及其对应的命名分组值。
使用场景
用户案例
1. 解析日志条目中的 IP 与时间
后端开发工程师- 背景原因
- 需要从大量的 Nginx 访问日志中,快速提取出客户端 IP 地址和请求时间,用于生成安全报告。
- 解决问题
- 手动查找或编写脚本解析效率低下,且容易出错。
- 如何使用
- 在工具中输入正则表达式模式 `(?<ip>\d{1,3}(?:\.\d{1,3}){3}) - - \[(?<time>[^\]]+)\]`,然后将日志条目粘贴到文本输入区域。
- 效果
- 工具立即高亮显示所有匹配项,并清晰列出每条日志对应的 `ip` 和 `time` 分组值,可一键导出为 CSV 用于后续分析。
2. 验证并分解 URL 结构
前端开发者- 背景原因
- 在开发一个链接分析功能时,需要确保用户输入的 URL 格式正确,并提取出其协议、主机名和路径。
- 解决问题
- 使用多个独立的正则或字符串方法处理繁琐,且难以维护。
- 如何使用
- 使用模式 `^(?<protocol>https?):\/\/(?<host>[^\/]+)(?<path>\/[^?]*)?(?:\?(?<query>.*))?$`,输入待验证的 URL 字符串。
- 效果
- 成功匹配的 URL 会被分解为 `protocol`、`host`、`path`、`query` 等命名分组,直观展示 URL 的各个组成部分,便于程序直接使用。
用 Samples 测试
text, regex相关专题
常见问题
什么是命名捕获组?
命名捕获组是 ES2018 引入的正则表达式特性,允许您为捕获组指定一个名称(如 `(?<year>\d{4})`),之后可以通过名称而非索引来引用匹配到的内容,使代码更易读。
批处理模式有什么用?
启用批处理模式后,您可以将多段测试文本(每行一段)一次性输入。工具会分别对每一行文本应用正则表达式进行匹配,非常适合批量验证多条数据。
如何导出匹配结果?
在查看结果后,页面通常会提供导出选项,允许您将匹配结果表格导出为 JSON 或 CSV 格式,便于进一步分析或存档。
“包含未匹配的分组”选项是什么意思?
勾选此选项后,即使某个命名分组在某次匹配中没有捕获到内容(值为 null),该分组及其名称仍会显示在结果表格中,方便您全面了解所有分组的匹配情况。
这个工具支持哪些正则标志?
工具支持所有标准的 JavaScript 正则表达式标志,常用的包括 `g`(全局匹配)、`i`(不区分大小写)、`m`(多行模式)等。您可以在“正则标志”输入框中指定。