正規表現の構文は、「|」記号で区切られた、0 個以上の
分岐で構成されます。正規表現は、いずれかの分岐と一致するもの
すべてに一致します。分岐は、0 個以上のピースが
連結されたものです。次の例で、正規表現の構文を説明します。
- ピースは、アトム (最小単位) であり、アトムの後には *、+、
または ? が続くことができます。
- アトムとそれに続く * は、アトムが 0 回以上
繰り返すシーケンスに一致します。
例えば、アトム .* は、任意の文字の 0 個以上の
インスタンスに一致します (ピリオドは任意の文字に一致します)。
- アトムとそれに続く + は、アトムが 1 回以上
繰り返すシーケンスに一致します。
例えば、アトム .+ は、任意の文字の 1 つ以上の
インスタンスに一致します。
- アトムとそれに続く ? は、アトム 1 個、
またはヌル・ストリングに一致します。
例えば、アトム .? は、単一文字またはヌル・ストリング (入力ストリングの
終わりなど) に一致します。
- アトムは、括弧で囲まれた正規表現 (正規表現 1 個に一致)、範囲、
または以下のいずれかです。
- . (任意の単一文字に一致)
- ^ (入力ストリングの先頭に一致)
- $ (入力ストリングの終わりに一致)
- ¥ とそれに続く単一文字 (その文字に一致)
- 他の意味を持たない単一文字 (その文字に一致)
次のような正規表現を考察します。
([a-zA-Z_][a-zA-Z0-9_]*)
括弧で囲まれたこの正規表現は、2 つの範囲のシーケンス、
すなわち最初の範囲である任意の単一の大文字/小文字または下線文字と、
続く 2 番目の範囲である、0 個以上の大文字/小文字、数字の 0 から 9、
または下線文字のシーケンスに一致します。