メタ文字

メタ文字は、 正規表現で特殊な意味を持つ非アルファベット文字です。

拡張正規表現構文で使用できるメタ文字セットとして、次のものがあります。

* + ? $ ^ . () | \ {} [

以下の表で、大括弧 ([) メタ文字を除くこれらのすべてのメタ文字について説明します。 [ メタ文字は、大括弧式を構成するために使用します。

表 1. メタ文字
メタ文字 説明
* 直前のアトムの 0 個以上のインスタンスと一致します。 可能な限り多くの数のインスタンスと一致します。 goo* は、my godnessmy goodness、および my gooodness と一致しますが、my gdness とは一致しません。
+ 直前のアトムの 1 個以上のインスタンスと一致します。 可能な限り多くの数のインスタンスと一致します。 goo+my goodness および my gooodnessと一致しますが、 my godnessとは一致しません。
? 直前のアトムの 0 個以上のインスタンスと一致します。 goo? は、my godnessmy goodness、および my gooodness と一致しますが、my gdness とは一致しません。

colou?r は、color および colour と一致します。

end-?user は、enduser および end-user と一致します。

$ ストリングの末尾と一致します。 end$the endと一致しますが、 the endingとは一致しません。
^ ストリングの先頭と一致します。

また、^ メタ文字は、大括弧式でも使用することができます。

^severityseverity level 5と一致しますが、 The severity is 5とは一致しません。
. 任意の単一文字と一致します。 b.at は、baatbBat、および b4at と一致しますが、bat または bB4at とは一致しません。
() 括弧内の文字が文字パターンとして処理されることを示します。 A(boo)+Z は、AbooZAboobooZ、および AbooboobooZ と一致しますが、AboZ または AboooZ とは一致しません。

Jan(uary)? は、Jan および January と一致します。

| パイプ文字の左側または右側のアトムと一致します。 A(B|C)D は、ABD および ACD と一致しますが、 ADABCDABBD、 または ACCD とは一致しません。

(AB | CD) は、AB および CD と一致しますが、ABD および ACD とは一致しません。

\ 直後のメタ文字が通常文字として処理されることを示します。 このセクションに記載されているメタ文字については、特別な意味をオフにするため、円記号エスケープ文字をプレフィックスとして付ける必要があります。

\ メタキャラクターを使用して、円記号シーケンスを構成することもできます。

\* は、 * 文字と一致します。

\\ は、 \ 文字と一致します。

\. は、 . 文字と一致します。

{m , n} 直前のアトムの m 個から n 個のインスタンスと一致します。この場合、m は最小値、n は最大値です。 可能な限り多くの数のインスタンスと一致します。
注: m および n は、 0255の間の符号なし 10 進整数です。
f{1,2}ord は、ford および fford と一致します。

N/{1,3}A は、N/AN//A、および N///A と一致しますが、NA または N////A とは一致しません。

{m ,} 直前のアトムの m 個以上のインスタンスと一致します。 Z{2,} は、連続する 2 個以上の Z と一致します。
{m} 直前のアトムの m 個のインスタンスと一致します。 a{3} は、aaa と一致します。

1{2} は、11 と一致します。