egrepの正規表現について

Written By Zeph Grunschlag

egrep は “Extended Global Regular Expressions Print” の頭文字をとったものである。 標準の egrep コマンドは次のようになります:

egrep<flags> ‘<regularexpression>’ <filename>

いくつかの共通のフラグは、次のとおりです。 -c はマッチした数をカウントし、実際のマッチを表示しない、-i は大文字小文字を区別しない、-n は各マッチ表示の前に行番号を表示する、-v は正規表現の補数を取る (すなわちマッチしない行を返す)、-l は式にマッチした行のファイル名を表示する、などです。)

(ギリシャ文字の ε (epsilon) は空文字列を表します)

egrep の正規表現と理論上の正規表現の主な違いの 1 つは、egrep ではマッチが文字のどこでも許されるのに対し、理論上は常に文字列の最初の文字から始まって最後の文字で終了することです。 egrepでは、正規表現010は000001000にマッチしますが、理論的な正規表現010は010と000001000が等しくないため、000001000にはマッチしません。 egrepの010の理論上の等価値は、(0+1)*010(0+1)*です。 実際に文字列の始まりと終わりを考慮したい場合はどうすればよいでしょうか。egrepは、始まりを指定するためにキャレット記号^を、終わりを指定するためにドル記号$を提供しています。 したがって、理論上の010に相当するegrepは、^010$で与えられます。

他に便利なegrepsymbolのペアとして、単語の境界線である “weird boundaries “があり、それぞれ単語の始まりと終わりを表す。

文字の集合や範囲を指定するには、中括弧を使います。 集合を表すには、最初の文字に帽子マーク ^ を使う。 たとえば、

  • は{ a, 9, A, 0, 5 }という集合です。
  • は補集合 ASCII – { a, 9, A, 0, 5 } です。 (a,9,A,0,5を除く全て)です。
  • は、すべての小文字 { a, b, c, d, …, z } の集合である。
  • は、小文字、4から9までの数字、およびQとRの大文字を除く、すべてのASCII文字の集合です。txt

match all lines in searchfile.txt that start with anon-empty bitstring, followed by a space, then by non-empty alphabetic words which ends the line

.

コメントを残す

メールアドレスが公開されることはありません。