否定前瞻没有按预期工作

时间:2018-02-13 17:24:48

标签: regex

我希望匹配所有未跟Doller

的数字
100Dollar
1000Dollar
100Yuan
1000Yuan

正则表达式:

\d+(?!Dollar)

但结果很奇怪:

img

实例:

https://regexr.com/3ko0t

2 个答案:

答案 0 :(得分:2)

正则表达式(?!\d+Dollar)\d+

详细说明:

  • (?!)否定前瞻
  • \d匹配一个数字(等于[0-9]
  • +匹配一次且无限次

答案 1 :(得分:1)

在负向前瞻中添加一个数字类,以确保您匹配到数字的当时:

\d+(?!Dollar|\d)

Demo