Power Automate中用Regex独立提取PDF发票号与日期
如何在Power Automate中独立提取发票号和日期(不使用\K语法)
你可以通过带捕获组的正则表达式直接分别匹配发票号和日期,或者分两步先提取组合行再拆分,以下是具体方案:
方案1:一步正则分组匹配(推荐)
直接用包含两个捕获组的正则,同时定位目标行并拆分字段:
(?<=Invoice Nº / Date\r?\n)(\d+) / (\d{2}\.\d{2}\.\d{4})
正则说明:
(?<=Invoice Nº / Date\r?\n):正向回溯断言,匹配标题行Invoice Nº / Date后的换行(兼容Windows的\r\n和类Unix的\n)(\d+):捕获组1,匹配纯数字格式的发票号/:匹配字段间的固定分隔符(注意前后空格)(\d{2}\.\d{2}\.\d{4}):捕获组2,匹配日.月.年格式的日期
在Power Automate中使用「Match using regex」动作后,可通过以下方式调用结果:
- 发票号:
matches[0].groups[1].value - 日期:
matches[0].groups[2].value
方案2:先提取组合行再拆分
如果你想保留原有的正则先提取组合行12345678 / 10.04.2023,可通过两种方式拆分:
方式A:使用Power Automate的「Split」动作
拆分分隔符设为/(包含前后空格),拆分后得到的数组中:
- 索引0的元素是发票号
- 索引1的元素是日期
方式B:用正则拆分组合行
对提取到的组合行使用如下正则,同样通过捕获组获取字段:
^(\d+) / (\d{2}\.\d{2}\.\d{4})$
内容的提问来源于stack exchange,提问作者Castella
相关产品推荐
相关产品推荐

