1. ホーム
  2. regex

[解決済み] grepにおける'not followed by'のための正規表現ルックヘッド

2022-08-20 06:55:41

質問

のすべてのインスタンスを grep しようとしています。 Ui\. の後に Line または単に文字 L

特定の文字列の後に別の文字列が続いていないすべてのインスタンスを見つけるための正規表現を記述する適切な方法は何ですか?

ルックヘッドを使用する

grep "Ui\.(?!L)" *
bash: !L: event not found


grep "Ui\.(?!(Line))" *
nothing

どのように解決するのですか?

ネガティブ・ルックアヘッドは、標準の grep . PCRE を有効にした grep が必要です。

もし、あなたがGNU grep があれば、現在のバージョンではオプション -P または --perl-regexp と入力すれば、思い通りの正規表現が使えます。

もし、(十分に新しいバージョンの)GNU grep を持っていない場合、以下のものを入手することを検討してください。 ack .