Linux正則表現特性の詳細及びBREとEREの異同点


Linux正則表現は主にPOSIX BREEまたはPOSIX EREの基準に従っています。POSIXとは何ですか?POSIX Portable Operating System Interface移植可能オペレーティングシステムインターフェースEREはBREEの拡張バージョンで、具体的に強い処理能力を持っています。
BREEの主な能力集は以下の通りである。
1)普通文字(Literal text)、a、b、cなど
2)印刷されていない文字、TAB、回車、改行、回車改行(WINDOWS)が含まれています。
3)任意の文字.
4)文字セットには、単語型文字([:alnum:])、非単語型文字([*:alnum])、数字([:digit:])、非数字([:alnum:])、スペース、TAB、改行などの空白文字([:space:])、および空白文字([:space:space]])が含まれます。
5)エッジマッチング子は、BREでもEREでも、行の先頭または行末にマッチするだけで、perlではなく、単語の先頭と語尾にもマッチします。
6)重複回数のマッチング(Quautifer/Repetition)
7)グループ化および後方参照
8)複数の項目のマッチ(Alteration)は、元の文字を使って、この特性はEREのみでサポートされています。BREEはこの機能がありません。
BREEとEREはASCIIとUNIKODEの両方をサポートしているかどうかはまだ確認されていないようです。
正の前方と負の前方の検索はサポートされていません。
正後方検索と負後方検索はサポートされていません。
BREEとEREは能力的には多くの項目にマッチする能力だけを区別します。他の面では大きな違いはなく、主な違いは元の文字に反映されます。
BREEは4つの要素文字のみを定義しています。
[]      複数の文字の中で選択した1文字をマッチさせるために使用します。[]には-を示す範囲がありますが、-自体は元の文字ではありません。
..        任意の文字にマッチする
^      マッチするときに「非」の意味を表します。もう一つの使い方は行頭にマッチします。
$      行の終点に合わせる
EREはこれに基づいて3つの要素文字の定義を追加しました。
{}      繰り返しマッチの回数を表します。BREEでは{}を普通の文字として扱うだけで、この機能を使うには\を付けて変換する必要があります。
()      グループ化に使用します。BREEでは普通の文字としてしか扱われません。この機能を使うには、\を付けて変換しなければなりません。\(\)
𞓜      完全にEREに追加された複数のマッチ能力を定義したもので、BREEは複数のマッチ能力がなく、普通の文字としてのみ扱われます。
以上の内容は、小編で紹介したLinux正則表現の特性の詳細とBREEとEREの違いです。お好きになってください。