了解lookbehind

时间:2013-01-26 23:20:09

标签: regex lookbehind

我在线测试人员使用正则表达式=&gt; .{3}(?<=USD\d{3})和主题字符串=&gt; 100美元,这将返回100。 我想知道正则表达式引擎在这种情况下是如何工作的? 正则表达式引擎如何返回100?

正则表达式:  。{3}(?&lt; = USD \ d {3})

主题:  USD100

返回:  100

1 个答案:

答案 0 :(得分:1)

你的正则表达式意味着“三个字符”(.{3}),加上额外的规则,当你到达三个字符的末尾时,如果向后看((?<=...)),你会看到“美元“加上三位数(USD\d{3})。

在您的输入字符串(USD100)中,只有您可以向后看并看到“USD”加上三位数的位置:即最后一位。因此,当应用于您的输入字符串时,正则表达式实际上意味着“字符串末尾之前的三个字符”,即100

这有意义吗?