# 多规则批量匹配

一次性对文本执行多个正则表达式模式匹配

> 标准页面: https://elysiatools.com/zh/tools/multi-pattern-matcher

- **分类:** Development

- **关键词:** regex, pattern, matcher, multiple, batch, extract, search, regex patterns

## 概述

**模式格式（每行一个）：**

```
标签|模式|标志
```

**示例：**

- `邮箱|\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b|gi`
- `电话|\b\d{3}-\d{3}-\d{4}\b|g`
- `网址|https?://[^\s]+|gi`

**标志（可选）：**
- `g` - 全局（查找所有匹配）
- `i` - 不区分大小写
- `m` - 多行
- `s` - 点匹配换行符
- `u` - Unicode

## 输入项

- **文本输入** (textarea): 输入要搜索的文本...
- **模式定义** (textarea): 每行一个模式：标签|模式|标志（标志可选）
- **区分大小写** (checkbox)
- **显示空模式** (checkbox)
- **每个模式最大匹配数** (number)

## 适用场景

- 当需要从大量文本中批量提取多种类型的信息时。
- 当处理日志文件或数据报告，需要同时匹配多个正则表达式模式时。
- 当进行数据清洗或验证，需要检查文本是否符合多个规则时。

## 工作原理

- 在文本输入框中粘贴或输入要搜索的文本内容。
- 在模式定义框中，每行定义一个模式，格式为“标签|模式|标志”，例如“邮箱|\b\[A-Za-z0-9._%+-\]+@\[A-Za-z0-9.-\]+\.\[A-Za-z\]{2,}\b|gi”。
- 根据需要设置选项，如区分大小写、显示空模式或限制每个模式的最大匹配数。
- 执行后，工具返回JSON格式的结果，显示每个标签的匹配项列表。

## 使用案例

- 从网页或文档中批量提取联系信息，如邮箱和电话号码。
- 分析服务器日志，同时匹配错误代码、IP地址和时间戳等模式。
- 验证用户输入文本，检查是否包含邮箱、网址等多种格式。

## 常见问题

### 模式定义中的标志有哪些？

标志包括g（全局匹配）、i（不区分大小写）、m（多行模式）、s（点匹配换行符）和u（Unicode模式），均为可选。

### 如何定义多个模式？

在模式定义框中，每行输入一个模式，格式为标签|模式|标志，例如：邮箱|模式|gi。

### 结果是什么格式？

结果以JSON格式返回，包含每个标签的匹配列表，便于程序处理或查看。

### 可以限制匹配数量吗？

是的，通过设置“每个模式最大匹配数”选项，可以限制每个模式返回的匹配项数量，默认为50。

### 如果模式没有匹配项会怎样？

如果启用了“显示空模式”选项，未匹配的模式也会在结果中显示为空列表；否则，只显示有匹配的模式。

## 相关工具

- [Java 正则测试器](https://elysiatools.com/zh/tools/java-regex-tester): 在线测试 java.util.regex 正则：(?…) 命名组、占有优先量词与原子组、Pattern 标志、\\d 的 ASCII 与 UNICODE\_CHARACTER\_CLASS 语义、可直接粘贴的 Java 代码。
- [正则表达式解释器](https://elysiatools.com/zh/tools/ai-regex-explainer): 使用 AI 将正则表达式分解为可读的解释
- [过滤文本段落](https://elysiatools.com/zh/tools/text-paragraph-filter): 快速返回匹配模式或正则表达式的所有段落
- [过滤文本句子](https://elysiatools.com/zh/tools/text-sentence-filter): 快速返回匹配模式或正则表达式的所有句子
- [过滤文本中的单词](https://elysiatools.com/zh/tools/text-word-filter): 快速返回匹配模式或正则表达式的文本单词
- [批量邮箱提取器](https://elysiatools.com/zh/tools/bulk-email-extractor): 从输入文本、文章、网页源码或混合内容中提取所有邮箱地址。支持去重和导出为JSON格式。
- [C# 正则测试器（.NET）](https://elysiatools.com/zh/tools/csharp-regex-tester): 在线测试 .NET/C# 正则表达式：命名组 ((?…))、IgnoreCase/Multiline/Singleline 选项、匹配高亮、捕获组表格、可直接粘贴的 C# 代码和 IgnorePatternWhitespace 预览。
- [Python 正则测试器（re 模块）](https://elysiatools.com/zh/tools/python-regex-tester): 在线测试 Python re 模块正则：(?P…) 命名组、(?P=name) 反向引用、VERBOSE 模式、findall 行为与 \\g 替换模板——附可直接粘贴的 Python 代码。

## 示例

- [正则表达式模式替代方案](https://elysiatools.com/zh/samples/regex-alternatives): 多种编写相同正则表达式模式的方法，在可读性、性能和准确性方面有不同的权衡
- [正则替换示例](https://elysiatools.com/zh/samples/regex-replace): 用于文本转换和数据清洗的常用正则替换模式集合
- [Glob 模式示例](https://elysiatools.com/zh/samples/glob-samples): Glob 模式示例，用于文件匹配，从基本到复杂模式
- [正则表达式命名捕获组](https://elysiatools.com/zh/samples/regex-named-groups): 使用命名捕获组从文本中提取结构化数据的正则表达式模式集合。命名组通过为捕获的部分分配有意义的名称，使模式更易读和更易维护。

## 相关内容

- [正则测试、可视化与安全审查工作流](https://elysiatools.com/zh/hubs/regex-utility): 通过语法参考、匹配测试、结构可视化、替换预览、性能对比和 ReDoS 扫描，构建更可靠的正则表达式。
- [用日志、链路、Webhook 和 JSON 载荷做可观测性调试](https://elysiatools.com/zh/hubs/observability-debugging): 解析日志，解码调用链，检查 Webhook/API 证据，探索 JSON 载荷，并提取重复模式，形成可用于事故复盘的调试结论。
- [PII 检测与日志脱敏复核](https://elysiatools.com/zh/hubs/pii-log-redaction): 在日志、文本和 PDF 中发现疑似个人信息，生成脱敏候选稿，校验标识符模式，并在共享前要求人工审批。
