正規表現の Grep オプション。 (ERE、BRE、Perl 正規表現) 違い

正規表現の Grep オプション。 (ERE、BRE、Perl 正規表現) 違い

正規表現に慣れていますが、grepさまざまなオプションが混乱しています。

grep --help | grep -i "reg.*ex"
  -E, --extended-regexp     PATTERN is an extended regular expression (ERE)
  -G, --basic-regexp        PATTERN is a basic regular expression (BRE)
  -P, --perl-regexp         PATTERN is a Perl regular expression

私は正規表現についてはある程度知っていますが、基本的な問題(例:実際には「.*」が必要ですが「*」を使用)に問題があることがよくあります。これは正規表現が分からないからだと思います。正規表現タイプ(ERE、BRE、Perl正規表現)

どこかで詳しく説明されていますか?

答え1

それに関する具体的な質問に答えてください*

*すべての型の正規表現の特殊文字は、前の式に適用されます。前の式に一致する項目は0個以上許可されています。したがって、正規表現は.*空であるかどうかに関係なく、すべての文字列と一致します。

ファイル名*ワイルドカード文字は、すべての(空の)文字列と一致します。

正規表現はファイル名のワイルドカードパターンではなく、その逆も同様です。この特別な違いは正規表現とワイルドカードパターンの違いであり、さまざまな種類の正規表現の違いではありません。

関連情報