我在线测试人员使用正则表达式=&gt; .{3}(?<=USD\d{3})
和主题字符串=&gt; 100美元,这将返回100。
我想知道正则表达式引擎在这种情况下是如何工作的?
正则表达式引擎如何返回100?
正则表达式: 。{3}(?&lt; = USD \ d {3})
主题: USD100
返回: 100
答案 0 :(得分:1)
你的正则表达式意味着“三个字符”(.{3}
),加上额外的规则,当你到达三个字符的末尾时,如果向后看((?<=...)
),你会看到“美元“加上三位数(USD\d{3}
)。
在您的输入字符串(USD100
)中,只有您可以向后看并看到“USD”加上三位数的位置:即最后一位。因此,当应用于您的输入字符串时,正则表达式实际上意味着“字符串末尾之前的三个字符”,即100
。
这有意义吗?