在不使用Python的情况下获取与Regex的第一个匹配

2024-09-30 20:18:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python3.7中通过使用正则表达式提取元素来识别pdf文档中的模式。我遇到的问题是,我只需要正则表达式的第一个匹配项。然而,当我占用我的正则表达式时,它会同时找到这两个正则表达式

"FECHA DE EMISION ","26/03/2021 "
"Comuna: ","Valparaiso "
"FECHA DE EMISION ","26/03/2021 "

我使用的正则表达式是:

(FECHA\sDE\sEMISION.*)

我需要的结果只是正则表达式的第一个匹配项:

"FECHA DE EMISION ","26/03/2021 "

需要注意的是,它们进行的两个匹配是相同的内容

我还尝试使用Contents语句\g<1>捕获组1,但它对我不起作用。我认为这与我没有使用懒惰贪婪有关

重要的是要注意,我不能直接用Python或它的功能来解决它。我专门使用re.findall,但我不能添加任何其他附加功能,这就是为什么我需要一个表达式,该表达式解析为只提供第一个匹配项

你知道怎么解决吗


Tags: 文档功能元素内容pdf表达式contents模式
1条回答
网友
1楼 · 发布于 2024-09-30 20:18:00

你可以用

\A[\s\S]*?("FECHA\sDE\sEMISION.*)

regex demo

详细信息

  • \A-字符串的明确开头
  • [\s\S]*?-任何零个或多个字符,尽可能少
  • ("FECHA\sDE\sEMISION.*)-捕获组1:"FECHA DE EMISION在单词和行的其余部分之间有任何空格

相关问题 更多 >