如何匹配6.1.x类编号点间数据并忽略指定词汇适配UiPath自动化
实现层级编号右侧内容精准提取的方案
核心正则匹配规则
针对x.x.x格式的任意层级编号,使用如下正则可直接捕获编号右侧的有效内容,自动过滤编号本身、前置空白,不会额外提取无关内容:
(?<=^\d+(?:\.\d+)*\s+).*?(?=\s*\d+(?:\.\d+)*\s|$)
规则逻辑说明:
- 前置正向预查
(?<=^\d+(?:\.\d+)*\s+):匹配行首的层级编号(支持1、1.1、6.1.1等任意层级)+ 后续空白,该部分不纳入捕获结果 - 中间段
.*?:非贪婪匹配编号后的有效内容 - 后置正向预查
(?=\s*\d+(?:\.\d+)*\s|$):匹配下一个编号的起始位置或行尾,自动截断多余内容
匹配效果示例:
输入行:
6.1.1 项目启动时间 2024年1月1日
输出结果:项目启动时间 2024年1月1日
UiPath自动化流程实现步骤
- 完成PDF文本提取后,先调用
替换活动,将文本内的连续换行、多段空白统一替换为单个空格,消除PDF导出带来的格式干扰 - 调用
匹配正则表达式活动,输入上述正则,勾选多行模式,即可批量提取所有编号对应的右侧内容 - 若需忽略同行指定标题词汇,可在提取后新增
替换活动,将预设的需要过滤的词汇集合批量替换为空即可
自定义规则调整方案
如果需要限定内容的起止关键词,可修改正则的后置匹配规则,例如要提取编号后到关键词【截止标识】前的内容,正则调整为:
(?<=^\d+(?:\.\d+)*\s+).*?(?=\s*【截止标识】|$)
你可以根据实际的终止关键词灵活修改预查内的匹配规则。
内容的提问来源于stack exchange,提问作者Shwapx
相关产品推荐
相关产品推荐

