使用RegEx在文本中用货币搜索价格

时间:2019-06-25 13:10:33

标签: regex

我需要将包含价格的文本与货币匹配,但不包含双货币。

我尝试以下正则表达式:

(\d+[\.,]*\d*)([eurEUR]{3})[^eurEUR]{3}

以下是此表达式如何工作以及我想如何工作的一些示例。

1。 表达式正确运行。因为另一种货币紧随其后。

some text before 25,00EUR EUR some text after with

2 该表达式无法正常工作。 “ EUR”之后的第一个字符为“ e”,因此表达式不匹配。

some text before 25,00EUR end some text after with

如何编辑不匹配双欧元,但匹配以字母“ e”,“ u”或“ r”开头的单词的表达式?

1 个答案:

答案 0 :(得分:1)

  1. 使用替代字面量代替具有重复计数[eurEUR]-> (eur|EUR)
  2. 的集合
  3. 如果您要确保货币后没有一个字符串,请使用负前瞻:(?!=eur|EUR)

最终正则表达式为:

(\d+[\.,]*\d*)(eur|EUR) (?!=eur|EUR)

Demo