echo "xxabc jkl" | grep -onP '\w+(?!abc\b)'
1:xxabc
1:jkl
なぜ結果は次のようにはなりませんか?指定された文字列で終わらないすべての文字を一致させるには
echo "xxabc jkl" | grep -onP '\w+(?!abc\b)'
1:jkl
最初の文字列はabcで終わるxxabc
です。
abcで終わっていないすべての文字を抽出したいのですが、なぜxxabc
が一致しますか?
修正する方法、つまり1:jkl
を出力するだけですか?
なぜ '\ w +(?! abc \ b)'が機能しないのですか?