【发布时间】:2012-10-24 14:42:57
【问题描述】:
我有这样的输入字符串:
left/1234567890
正则表达式:
(left(?<=/)[0-9]{10}?)
我想得到这样的结果:1234567890。 但它不起作用。
虽然,下一个输入字符串:
/1234567890
使用下一个正则表达式:
((?<=/)[0-9]{10}?)
按预期得到结果:1234567890。
【问题讨论】:
标签: regex lookbehind
我有这样的输入字符串:
left/1234567890
正则表达式:
(left(?<=/)[0-9]{10}?)
我想得到这样的结果:1234567890。 但它不起作用。
虽然,下一个输入字符串:
/1234567890
使用下一个正则表达式:
((?<=/)[0-9]{10}?)
按预期得到结果:1234567890。
【问题讨论】:
标签: regex lookbehind
这是因为您没有将 left 包含在您的后视中:
((?<=left/)[0-9]{10}?)
在您的第一个示例中,您匹配 left,然后正则表达式引擎的“指针”在 t 和 / 之间,因此您的后向无法匹配,因为正则表达式引擎尚未通过斜线。
【讨论】: