我有这样的输入字符串:
left/1234567890
正则表达式:
(left(?<=/)[0-9]{10}?)
我想得到这样的结果:1234567890。 但它不起作用。
虽然,下一个输入字符串:
/1234567890
使用下一个正则表达式:
((?<=/)[0-9]{10}?)
按预期获得结果:1234567890。
答案 0 :(得分:6)
这是因为您没有将left
包含在您的lookbehind中:
((?<=left/)[0-9]{10}?)
在您的第一个示例中,您匹配left
,然后正则表达式引擎的“指针”介于t
和/
之间,因此您的lookbehind无法匹配,因为正则表达式引擎尚未通过斜线呢。