极奇策RPA技术教程:正则提取 (NodeRegexExtract) - 自动化开发与配置详细指南

正则提取
📖 节点概述
使用正则表达式从文本中提取匹配的内容。支持三种提取模式:返回首个匹配、返回所有匹配并用指定分隔符合并成字符串、返回所有匹配的列表。提供常用的正则标志(忽略大小写、多行模式、点号匹配换行)。输出类型根据模式自动变化(字符串或列表)。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 数据采集:从网页源码或日志中提取邮箱、URL、日期等结构化信息。
- 文本分析:抽取出所有数字、英文单词或特定格式的代码片段。
- 预处理:从原始文本中清洗出关键数据用于后续处理。
- 批量提取:获取所有匹配项后进行统计或进一步筛选。
- 简单解析:从固定格式字符串中提取字段(如
key: value中的 value)。
🎮 实战连线指南:如何正确使用它?
节点有两个主要输入端口:输入文本(源字符串)和 正则表达式(匹配规则),以及一个提取模式选择。输出端口 结果。
场景案例:提取文本中的所有价格数字
- 准备文本:
"Apple $19.99, Banana $0.99, Cherry $29.99"。 - 设置正则:
\$(\d+\.\d{2})(匹配美元价格格式)。 - 选择提取模式:
所有匹配 (返回列表)。 - 获取结果:
["19.99", "0.99", "29.99"](列表)。 - 后续使用:遍历列表进行价格计算或展示。
合并模式示例:
- 同样正则,选择
所有匹配 (用分隔符合并),分隔符设为,→ 结果"19.99, 0.99, 29.99"。
首个匹配示例:只返回首个价格 "19.99"。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 输入文本 | STRING | 待提取的原始字符串。可通过多行文本框填写或连线传入。 |
| 正则表达式 | STRING | 用于匹配的正则表达式模式(Python 语法)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 输入文本 | 多行文本框 | 手动输入源文本。连线时优先使用连线值。 |
| 正则表达式 | 单行文本框 | 手动输入正则表达式。 |
| 提取模式 | 下拉选择 | •首个匹配:返回首个匹配的字符串(未匹配则返回空字符串)。<br>• 所有匹配 (用分隔符合并):将所有匹配项用指定分隔符连接成一个字符串。<br>• 所有匹配 (返回列表):返回匹配项列表。 |
| 分隔符 | 单行文本框(高级) | 仅在“合并”模式下使用。默认", ",支持转义序列(如 \n、\t)。 |
| 忽略大小写 (i) | 复选框(高级) | 对应re.IGNORECASE。 |
| 多行模式 (m) | 复选框(高级) | 对应re.MULTILINE。 |
| 点号匹配换行 (s) | 复选框(高级) | 对应re.DOTALL。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 结果 | STRING / LIST | 根据模式返回:字符串(首个或合并)或字符串列表。端口类型会动态变化。 |
🔧 正则捕获说明
- 如果正则表达式中包含捕获组
( ),findall()默认返回元组列表。本节点未做特殊处理,因此建议使用非捕获组(?:...)或根据需要自行处理结果。 - 若需要提取捕获组内的特定内容,可编写正则如
key: (\w+),findall会返回捕获组的值。 - 对于复杂场景(多个捕获组),返回的列表元素可能是元组,请留意下游节点的兼容性。
⚠️ 注意事项
- 空匹配:如果没有找到任何匹配:
- 首个匹配模式返回空字符串
""。 - 合并模式返回空字符串
""。 - 列表模式返回空列表
[]。
- 首个匹配模式返回空字符串
- 正则表达式错误:如果正则编译失败,节点会返回空值(对应模式的空结果)。
- 性能:对于长文本和复杂正则,提取所有匹配可能消耗较多内存。建议在必要时使用“首个匹配”模式。
- 列表模式下游连接:输出为列表时,可以连接到【列表长度】、【列表索引】等节点。
- 匹配对象:如果使用捕获组,
findall返回的是捕获组内容而不是整个匹配。若需要整个匹配,请使用非捕获组或在正则外包裹(?:...)再整体捕获。
💎 小贴士:
- 提取所有匹配为列表后,可以方便地统计匹配数量或遍历处理。
- 使用
\d+提取数字、[a-zA-Z]+提取英文单词、\S+@\S+简单匹配邮箱。- 结合【字符串长度】节点,可以快速统计匹配项个数(通过列表长度)。
- 若需要替换而非提取,请使用【正则批量替换】节点。
- 分隔符支持换行
\n,可用于将匹配项生成为多行文本。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

