grep --help
およびman grep
によると、パターンをデフォルトの POSIX基本正規表現 (BRE)の代わりにPerl正規表現(正確にはPCRE)として解釈するために-P
オプションを使用できます。
Perl言語では、パターン解釈を調整するために、さまざまな修飾子を式に追加できます(/pattern/modifiers
の構文で)。
だから、誰かがgrepのPerl正規表現に修飾子をどのように追加できますか? grep -P "/^got.it$/ms" [FILE]
のようなバリエーションを試しましたが、検索結果が間違っていました。
ただし、PCREの解釈については、マニュアルで次のように指摘されています。
これは非常に実験的であり、grep -Pは実装されていない機能について警告する場合があります。
Grepツールが修飾子をまったくサポートしない可能性はありますか?
ところで、修飾子の例である-i
オプションを使用すると、大文字と小文字を区別しないパターンマッチングを実行できることに気付きました。
修飾子imsxadlup
には、 拡張パターン で説明されているように(?X)
を使用できます。
$ echo FOO | grep -P '(?i)foo'
FOO