在线提交需求

请留下您的联系方式,我们的专家将在 24 小时内与您沟通。

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

极奇策技术团队更新于 2026-08-300 阅读

image.png

正则提取

📖 节点概述

使用正则表达式从文本中提取匹配的内容。支持三种提取模式:返回首个匹配、返回所有匹配并用指定分隔符合并成字符串、返回所有匹配的列表。提供常用的正则标志(忽略大小写、多行模式、点号匹配换行)。输出类型根据模式自动变化(字符串或列表)。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 数据采集:从网页源码或日志中提取邮箱、URL、日期等结构化信息。
  • 文本分析:抽取出所有数字、英文单词或特定格式的代码片段。
  • 预处理:从原始文本中清洗出关键数据用于后续处理。
  • 批量提取:获取所有匹配项后进行统计或进一步筛选。
  • 简单解析:从固定格式字符串中提取字段(如 key: value 中的 value)。

🎮 实战连线指南:如何正确使用它?

节点有两个主要输入端口:输入文本(源字符串)和 正则表达式(匹配规则),以及一个提取模式选择。输出端口 结果

场景案例:提取文本中的所有价格数字

  1. 准备文本"Apple $19.99, Banana $0.99, Cherry $29.99"
  2. 设置正则\$(\d+\.\d{2})(匹配美元价格格式)。
  3. 选择提取模式所有匹配 (返回列表)
  4. 获取结果["19.99", "0.99", "29.99"](列表)。
  5. 后续使用:遍历列表进行价格计算或展示。

合并模式示例

  • 同样正则,选择 所有匹配 (用分隔符合并),分隔符设为 , → 结果 "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,可用于将匹配项生成为多行文本。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部