4

我使用 UiPath Studio 的 OCR 从 PDF 中提取了以下文本。这是相同的文本块重复 3 次,因为它是同一 PDF 页面的原始、重复和三份。

Os bens/serviços foram colocados à disposição do adquirente em 2020-04-16 * Data/Hora início de transporte: 2020-04-16 às 11:52

Total Líquido               500,00
Total de Descontos 500,00         
Desconto Documento                
Total de IVA                115,00
Total do Documento (EUR)    615,00

IVA      Incidência   Valor do IVA
Isento                            
6%                                
13%                               
23%      500,00       115,00      

b5El-Processado por programa certificado n.º75/AT.

Os bens/serviços foram colocados à disposição do adquirente em 2020-04-16 * Data/Hora início de transporte: 2020-04-16 às 11:52

Total Líquido               500,00
Total de Descontos 500,00         
Desconto Documento                
Total de IVA                115,00
Total do Documento (EUR)    615,00

IVA      Incidência   Valor do IVA
Isento                            
6%                                
13%                               
23%      500,00       115,00      

b5El-Processado por programa certificado n.º75/AT.

Os bens/serviços foram colocados à disposição do adquirente em 2020-04-16 * Data/Hora início de transporte: 2020-04-16 às 11:52

Total Líquido               500,00
Total de Descontos 500,00         
Desconto Documento                
Total de IVA                115,00
Total do Documento (EUR)    615,00

IVA      Incidência   Valor do IVA
Isento                            
6%                                
13%                               
23%      500,00       115,00      

b5El-Processado por programa certificado n.º75/AT.

我需要提取“-Processado por programa”后面的 4 个字符代码,但只需要 1 个匹配或第一个匹配。

已经尝试过[^*]+(?=-Processado\spor\sprograma)(.*?)(?=-Processado\spor\sprograma)但输出了 3 场比赛。

当我删除该/g标志时它起作用了,但我使用的是 UiPath Studio 的 RegEx 提取器,我不知道如何在该程序上删除该标志。

4

2 回答 2

4

您可以匹配所有不以 4 个单词字符开头并-Processado por programa使用否定前瞻的行。

当你遇到这样的行时,捕获第 1 组中的前 4 个单词字符

\A.*(?:\r?\n(?!\w{4}-Processado\spor\sprograma\b).*)*\r?\n(\w{4})

解释

  • \A.*断言字符串开头的位置和除换行符以外的任何字符 0+ 次
  • (?:非捕获组
    • \r?\n匹配换行符
    • (?!\w{4}-Processado\spor\sprograma\b)-Processado por programa负前瞻,不直接向右断言
    • .*匹配该行的其余部分
  • )*关闭非捕获组并重复 0+ 次以匹配所有行
  • \r?\n(\w{4})匹配换行符并捕获第1 组中的 4 个单词字符

正则表达式演示

于 2020-07-20T14:56:10.403 回答
1
/(\w{4})-Processado/g

是你正在寻找的东西。查看正则表达式测试器的图像。它在 4 个字符上按预期工作。当您需要 UiPath 的帮助来应用它时,请告诉我。

在此处输入图像描述

于 2020-07-20T14:11:22.460 回答