優秀perlre
拡張モードページ私たちは以下を読むことができます\K
:
内容を左に保ち、
\K
$&で包まないでください。
以下はGNUを使用した実際的な例ですgrep
(実際に正確さを保ちます\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
ベストアンサー1
この場合、幅0のプレビューは、(?=...)
お客様のニーズに適している可能性があります。:
$ echo foo bar buzz | grep -Po "foo \Kbar(?= buzz)"
bar
追加の括弧が必要です。 Lookaheadにはそのような単一文字エスケープはありません\K
。
\K
これまでは幅が0のルクビハインドに過ぎないので、これは次のようになります。
echo foo bar buzz | grep -Po "(?<=foo )bar(?= buzz)"
個人的に従うのが簡単だと思います。