正则表达式 - 后视

and*_*viD 2 regex lookbehind

我有这样的输入字符串:

left/1234567890
Run Code Online (Sandbox Code Playgroud)

正则表达式:

(left(?<=/)[0-9]{10}?)
Run Code Online (Sandbox Code Playgroud)

我想得到这样的结果:1234567890.但它不起作用.

虽然,下一个输入字符串:

/1234567890
Run Code Online (Sandbox Code Playgroud)

使用下一个正则表达式:

((?<=/)[0-9]{10}?)
Run Code Online (Sandbox Code Playgroud)

得到预期的结果:1234567890.

Mar*_*der 6

这是因为你没有left加入你的lookbehind:

((?<=left/)[0-9]{10}?)
Run Code Online (Sandbox Code Playgroud)

在你的第一个例子中,匹配left然后正则表达式引擎的'指针'在t和之间/,因此你的lookbehind无法匹配,因为正则表达式引擎还没有通过斜杠.