分类

命名分组测试器

解析并显示正则表达式中的命名捕获组

命名分组测试器

测试并提取正则表达式中的命名捕获组。此工具帮助您使用 ES2018 命名捕获组语法 (?<name>...) 处理正则表达式模式。

功能:

  • 从正则表达式模式中解析并显示所有命名捕获组
  • 测试输入文本并提取所有匹配项及其命名分组
  • 以表格格式查看结果
  • 支持批处理模式(每行一个测试字符串)
  • 将结果导出为 JSON/CSV 格式
  • 提供匹配和分组的详细统计信息

命名分组语法:

  • 使用 (?<name>...) 定义命名捕获组
  • 分组名称必须是有效的 JavaScript 标识符
  • 示例:(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})

使用说明:

  1. 输入带有命名分组的正则表达式模式
  2. 可选:设置正则标志(默认:"g" 全局匹配)
  3. 输入要测试的文本
  4. 切换批处理模式以测试多个字符串(每行一个)
  5. 如需要,调整最大结果限制
  6. 点击查看所有匹配及其命名分组值

使用场景:

  • 解析和验证结构化数据(日期、URL、坐标)
  • 从日志文件中提取特定字段
  • 在生产环境前测试复杂的正则表达式模式
  • 学习和调试命名捕获组

启用后将每行作为单独的测试处理

在结果中显示空值/null值的分组

关键信息

分类
Development
输入类型
textarea, text, checkbox, number
输出类型
json
样本覆盖
4
支持 API
Yes

概览

命名分组测试器是一款专为开发者设计的在线正则表达式工具,用于解析、测试和提取正则表达式中的命名捕获组。它支持 ES2018 的 `(?<name>...)` 语法,能帮助您快速验证模式、查看匹配结果,并支持批量处理与结果导出。

适用场景

  • 需要从结构化文本(如日志、URL、日期字符串)中提取特定字段时。
  • 在编写或调试包含命名捕获组的复杂正则表达式,希望在部署前验证其正确性时。
  • 希望学习或教学 ES2018 命名捕获组语法,并直观查看其匹配效果时。

工作原理

  • 在“正则表达式模式”输入框中,输入包含命名分组 `(?<name>...)` 的正则表达式。
  • 在“文本输入”区域粘贴或输入需要测试的文本内容。
  • 根据需要设置正则标志(如 `g`、`i`、`m`)或启用“批处理模式”以逐行测试多段文本。
  • 工具将自动解析模式,执行匹配,并以表格形式清晰展示所有匹配项及其对应的命名分组值。

使用场景

解析服务器日志,提取其中的 IP 地址、时间戳、请求方法等结构化信息。
验证用户输入的 URL 或邮箱格式,并分解出协议、域名、路径等组成部分。
从文本报告中批量提取日期、金额、编号等关键数据,用于数据清洗或迁移。

用户案例

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`(多行模式)等。您可以在“正则标志”输入框中指定。

API 文档

请求端点

POST /zh/api/tools/named-group-tester

请求参数

参数名 类型 必填 描述
textInput textarea -
pattern text -
flags text -
batchMode checkbox 启用后将每行作为单独的测试处理
includeUnmatched checkbox 在结果中显示空值/null值的分组
maxResults number -

响应格式

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON数据: JSON数据

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-named-group-tester": {
      "name": "named-group-tester",
      "description": "解析并显示正则表达式中的命名捕获组",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=named-group-tester",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]