正規表現で「awk」を使用する場合、「|」に対応する「AND」演算子は何ですか?

正規表現で「awk」を使用する場合、「|」に対応する「AND」演算子は何ですか?

私はこれが|論理的な「OR」演算子であることを知っています。~へ正規表現。しかし、同等の「AND」演算子は何ですか(再び、~へ正規表現)?

メモ:

  • これは、複数の式の「AND」演算子とは何の関係もありません&&
  • たとえば、 と の両方を/A&B/一致させるのと同じです。AB

ベストアンサー1

私が慣れている正規表現スタイルにはそのような演算子はありません。両方の入力を一致させるには、どちらも特定の順序で必要に応じてORを書き込むか、2つの式を組み合わせて2つの順序のいずれかを許可AできますBA.*BB.*AA.*B|B.*A

または2つの別々のゲームをプレイしてください。たとえば、次のようになりますawk

awk '/A/ && /B/' file

または、両方のgrepインスタンスを手動で処理します。

grep A file | grep B

実際、正規表現ではAND演算子を使用する必要はありません。正規表現のアイデアは、文字列を記述することです。定義に従って一致させたい内容を正規表現に入れます。したがって、A または B の一致を許可するには OR が必要ですが、AND は基本的に正規表現に組み込まれています。正規表現で作成するすべての項目は一致する必要があるため、すべてがデフォルトでAND演算子で連結されるため、A専用ANDは意味がありません。

おすすめ記事