Power Automate Desktop正则提取价格,规避日期格式干扰求助
Power Automate Desktop收据OCR价格提取解决方案
核心思路
利用目标数值的固定起始索引截取文本,再用精准正则匹配价格,彻底避开日期干扰,同时避免循环提升效率。
步骤1:计算目标起始索引
使用Set Variable动作,设置起始索引变量:
startIndex = textVariable.Length * 4 + 7
步骤2:截取目标区域文本
通过Substring函数直接提取价格所在的文本段,跳过前面包含日期的区域:
targetText = Substring(textVariable, startIndex)
步骤3:优化正则表达式匹配价格
使用Extract text using regex动作,采用以下正则表达式,可覆盖所有价格格式(带±号、千分位、小数位):
[+-]?\b\d+(?:,\d{3})*(?:\.\d+)?\b
该正则能匹配的示例:
- 小数值:
-2、+5、3 - 千分位数值:
1,234、-12,345 - 带小数数值:
123.45、+67.89、-1,234.56
额外防误匹配优化(可选)
如果截取后的文本仍存在类似日期的干扰项,可添加负向环视进一步过滤,确保不会匹配XX-XX格式的内容:
(?<!\d)[+-]?\b\d+(?:,\d{3})*(?:\.\d+)?\b(?!-\d)
内容的提问来源于stack exchange,提问作者2 horizon
相关产品推荐
相关产品推荐

