正規表現
理論的に明解であり扱いも容易であるため、形式的な説明を先に述べる。
記号(アルファベット) A = { a 1 , ... , a n } {\displaystyle A=\{a_{1},\dots ,a_{n}\}} 上の正規表現は次のようなものから成る。正規表現があらわす記号列(アルファベット列)の集合によって形式言語が定義される。
∅ {\displaystyle \varnothing } は正規表現である。これは記号列を何も含まない空集合 ∅ {\displaystyle \varnothing } を表す。
a i {\displaystyle a_{i}} ( A {\displaystyle A} の任意の要素)は正規表現である。これは a i {\displaystyle a_{i}} という記号列のみからなる集合 { a i } {\displaystyle \{a_{i}\}} を表す。
X {\displaystyle X} と Y {\displaystyle Y} が正規表現ならば、 X ∣ Y {\displaystyle X\mid Y} も正規表現である。