首页 文章

非捕获组后的正则表达式特定模式

提问于
浏览
-1

我有这个例子正则表达式:

https://regex101.com/r/CoLrOA/5/

我想在 remuneração 之后提取第一个货币匹配,即 1.200.000,00 EUR .

无论货币符号位于数字之前还是之后,这些货币匹配都应找到匹配 .

我试过这种模式:

(?:(?<=remuneração).*)(\€|EUR) *(?!0|\.00)[0-9]+(.\d{3})*(.[0-9]{0,2})|(?!0|\.00)[0-9]+(.\d{3})*(.[0-9]{0,2}) *|(\€|EUR)

但它也匹配在该特定单词之前找到的所有货币 .

我怎样才能做到这一点?

1 回答

  • -1

    使用@revo评论建议,最终使用此变体可以解释货币符号以及3个字母代码:

    remuneração\D*(\d[\d.,]+\b *(?:\€|EUR)|(?:\€|EUR) *\d[\d.,]+\b)
    

相关问题