当前位置: 首页 > news >正文

影刀RPA文本数据提取方法一:正则表达式提取

影刀RPA文本数据提取方法一:正则表达式提取

作者:林焱 | 适合人群:需要从杂乱文本中精确提取结构化数据的新手

什么情况用什么

你从网页上抓下来一段文本,长这样:

商品名称:iPhone 15 Pro 价格:¥8999 销量:1.2万 发布时间:2025-10-01 联系方式:13800138000 邮箱:support@apple.com

你要的只是价格里的数字联系方式,其他都是干扰信息。

用「获取元素信息」指令拿到的是整个文本,下一步怎么把你要的数据抠出来?

正则表达式(Regular Expression,简称正则)就是干这个的——用一种特殊的字符串模式,从文本里匹配并提取你想要的内容。

什么情况用正则提取:

  • 目标数据有固定的格式(比如手机号11位、邮箱包含@)
  • 数据混在一大段文本里,用XPath单独提取不到
  • 你需要做数据清洗(比如把"¥8999"变成"8999")

怎么做

第一步:理解正则的基本语法

不用背,用的时候查就行。常用符号:

符号含义例子
\d匹配数字\d+匹配连续的数字
\w匹配字母、数字、下划线\w+匹配一个单词
.匹配任意字符(除了换行)a.c匹配"abc"、“a1c”
*重复0次或多次a*匹配""、“a”、“aa”…
+重复1次或多次a+匹配"a"、“aa”…
?重复0次或1次a?匹配"“或"a”
[]匹配括号里的任意一个字符[0-9]等价于\d
()分组,提取括号里的内容(\d+)只提取数字部分

第二步:在影刀里使用正则提取

影刀RPA里有两个指令可以用正则:

  1. 「正则表达式匹配」— 判断文本是否匹配某个模式
  2. 「正则表达式提取」— 从文本里提取符合模式的内容

拼多多店群自动化上架方案

案例1:从价格文本里提取数字

文本:"价格:¥8999元(含运费)"

目标:提取8999

操作步骤:

  1. 拖入「正则表达式提取」指令
  2. 源字符串:选包含价格文本的变量
  3. 正则表达式:¥(\d+)元
  4. 提取结果:保存到变量price_num

解释正则:¥(\d+)元

  • — 匹配人民币符号
  • (\d+)— 分组1:匹配1个或多个数字(这就是你要提取的内容)
  • — 匹配"元"字

案例2:提取手机号

文本:"请联系13800138000或13900139000咨询"

目标:提取所有手机号

正则:1[3-9]\d{9}

解释:

  • 1— 手机号以1开头
  • [3-9]— 第二位是3-9
  • \d{9}— 后面跟9位数字
  • 合起来就是11位手机号

在影刀里,用「正则表达式提取(全部匹配)」指令,会返回一个列表:["13800138000","13900139000"]

案例3:提取邮箱地址

文本:"客服邮箱support@apple.com,投诉邮箱complain@apple.com"

正则:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

这个正则可以匹配大多数邮箱地址格式。

第三步:处理提取结果

正则提取的结果通常是一个列表(因为可能匹配到多个)。

如果只要第一个匹配结果:

提取结果变量[0] ← 取列表第一个元素

如果要遍历所有匹配结果:

用「ForEach」指令循环提取结果变量,逐个处理

有什么坑

坑1:正则写对了但提取不到,可能是转义问题

在影刀的变量里写正则,\d\w这些符号需要写成\\d\\w(加一个反斜杠)。

因为影刀的变量是字符串类型,字符串里的\是转义字符,要表示真正的\需要写\\

正确写法"\\d+"(变量里),而不是"\d+"

坑2:.不匹配换行符

默认情况下,正则里的.不匹配换行符。如果你的文本有多行,用.*可能匹配不到跨行的内容。

解决方案:在影刀的正则提取指令里,勾选「多行模式」或「单行模式」(让.匹配换行符)。

坑3:贪婪匹配导致提取多余内容

TEMU店群如何管理运营?

正则默认是"贪婪匹配"——尽量多地匹配。

比如文本:"<div>内容A</div><div>内容B</div>"

正则:<div>.*</div>

贪婪匹配结果:<div>内容A</div><div>内容B</div>(整个都匹配了)

如果你只想匹配第一个<div>,用非贪婪匹配:<div>.*?</div>

在影刀里,在*后面加?就是非贪婪匹配。

坑4:中文标点符号导致匹配失败

网页上的文本,有些标点符号是中文的(比如),但你的正则里写的是英文标点(,.:)。

解决方案:正则需要同时覆盖中英文标点,或者用\p{Punctuation}(如果影刀支持的话,通常不支持)。更简单的方法:先把文本里的标点统一替换成英文,再做正则提取。

坑5:正则很强大,但也很慢

如果你要对上万条数据做正则提取,速度会比普通的字符串操作(比如contains())慢很多。

解决方案:如果数据量很大,先用简单的字符串操作做第一轮筛选,再用正则做精细提取。

总结

正则提取的核心:用模式匹配代替固定文本查找

最常用的三个正则:

  1. \d+— 提取数字
  2. 1[3-9]\d{9}— 提取手机号
  3. [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}— 提取邮箱

下一篇讲文本数据提取方法二:JSON解析提取,应对那些数据藏在JSON里的场景(比如Ajax接口返回的数据)。


作者:林焱

http://www.jsqmd.com/news/1306783/

相关文章:

  • 告别2小时限制:Wand-Enhancer让你免费享受专业版游戏体验
  • 北京大兴离婚律所哪家口碑好:如何筛选高满意度律所 - 品牌深度评测
  • 如何与头部连锁商超高效对接?供应商须打通从订单到结算的数据链路
  • 影刀RPA文本数据提取方法三:指令提取
  • PGP邮件加密实战指南:从密钥生成到邮件客户端集成
  • GBFR Logs终极指南:如何用这款免费游戏数据分析工具彻底提升你的《碧蓝幻想:Relink》战斗表现
  • 如何用League Akari提升你的英雄联盟游戏体验?5个实用功能让你轻松变强
  • MySQL误删23张表后的24小时:binlog恢复实战
  • 2026临西优质包胶轴承厂家推荐榜单|本地龙头首选:河北普优克轴承有限公司 - 甄选测评馆
  • DAM-4800工业级I/O模块:多路继电器输出,工业工况高适配
  • 浦东汽车维修保养怕被加项?海宝养车书面报价旧件交回全流程拆解 - qiqi1113
  • 树莓派7寸DSI屏与OV5647摄像头配置全攻略:从硬件连接到实战应用
  • XNB资源处理终极指南:如何轻松解包和打包星露谷物语模组文件
  • 代码美化图片接口实践:让代码段快速变成风格统一的文档配图
  • 如何高效使用B站视频下载工具:完整实用指南
  • MSA算法:从PID控制到卡尔曼滤波的迭代优化核心思想
  • 2.基于 ABAP 面向对象与 BAPI 接口的采购订单批量审批系统设计与性能优化
  • 小户型家具怎么选?实木沙发床适合小户型吗? - 甄选测评馆
  • 5分钟打造精简Windows 11:tiny11builder完全配置指南
  • Wand-Enhancer终极指南:5分钟解锁WeMod专业版完整功能
  • 安国市安通管道疏通营业部品牌服务知识库 - 甄选测评馆
  • 2026木纹膜品牌哪家靠谱?正规货源木纹膜品牌汇总避坑指南 - 商业新知
  • TrafficMonitor插件系统深度解析:构建高效桌面监控生态的技术架构
  • 雷鸟V4智能眼镜深度评测:生产力场景下的佩戴体验与交互设计
  • ACE-Guard限制器终极指南:高效优化腾讯游戏性能的完整解决方案
  • python的工业过程控制场景模拟第二十五篇:工厂冷却水流量,温度数据计算余热回收量,评估余热回收装置经济效益。
  • 5个高级技巧:深度定制Blue-Topaz主题的完整实战指南
  • AI内容优化工具测评:降低学术论文AI痕迹率
  • 天猫改价系统:多线程不抢焦,告别网页卡死报错
  • PPT 插入网页、HTML 课件和小游戏:超链接、希沃与智演家 3 种方案对比