在perlre
的扩展模式页面上,我们可以阅读\K
:
保留剩下的东西
\K
,不要包含在 $&
这是使用 GNU 的实际示例grep
(实际上保留了 GNU 的内容\K
):
$ echo "foo bar buzz" | grep -Po "foo \Kbar buzz"
bar buzz
有没有相反的顺序\K
?
例如仅打印bar
,例如:
$ echo "foo bar buzz" | grep -Po "foo \Kbar\X buzz"
bar
在perlre
的扩展模式页面上,我们可以阅读\K
:
保留剩下的东西
\K
,不要包含在 $&
这是使用 GNU 的实际示例grep
(实际上保留了 GNU 的内容\K
):
$ echo "foo bar buzz" | grep -Po "foo \Kbar buzz"
bar buzz
有没有相反的顺序\K
?
例如仅打印bar
,例如:
$ echo "foo bar buzz" | grep -Po "foo \Kbar\X buzz"
bar
在这种情况下,零宽度前瞻可以满足
(?=...)
您的要求:它确实需要一些额外的括号。前瞻的方式没有单字符转义
\K
。\K
到目前为止,实际上只是对所有内容的零宽度回顾,所以这也相当于我个人觉得更容易理解。