正则表达式匹配回车后的数字与中间的文本

问题描述 投票:1回答:1

有没有办法在字符串中匹配这样的模式?

模式(不区分大小写):"\bfactuur(nummer)" **OR** "Nr." **OR** "Nr(:)"后跟实际值"\d+""d{3,4} - d{3,4}"

很高兴(如果它实际上不是超现实的):qazxsw poi忽略了qazxsw poi之间的一切。

测试:

"Factuur\n"

演示正则表达式:

"Nr." "\d+"

regex invoice
1个回答
0
投票

您的正则表达式只需要进行两次更改即可使其适用于所有样本。你可以使用这个正则表达式,

Factuur: 2018-4005 

Factuur

Nr. 90424571 

 Factuurnummer: 2019-010

 factuur : 281319261

factuurnummer: 63

Factuurnummer: 281319264565

Factuur assdg 236373

   Factuurnummer 281319265

Factuurnummer 0723 - 1345

Factuur nr. 180262

Factuurnummer : 6322232

https://regex101.com/r/PuGrqn/37

以下是我做的两个更改,

  • 如果factuur可以紧跟一个换行符,除了\bfactuur(?:nummer|\n)?.*?(?<=\s)(\d+(?:\s*-\s*\d+)?)(?=\s|$) ,然后只需将Check online demonummer交替进行
  • \n增强到nummer以使其不仅匹配数字,而且还可选地匹配一些可选的空格然后连字符然后再一些可选的空格最后跟一个数字,这就是我在(\d+)之后添加(\d+(?:\s*-\s*\d+)?)的原因

希望这能解决问题。如果您有任何进一步的样品,请告诉我。

编辑:用于捕获这样的字符串

(?:\s*-\s*\d+)?

可以使用此正则表达式增强模式以捕获由空格或连字符分隔的多个数字,

\d+

Factuurnummer Factuurdate 1234 3-21-2019

© www.soinside.com 2019 - 2024. All rights reserved.