正規表現


・記号列の集合を表わす方法の一つ. 有限オートマトンで受理される言語は正規表現で表わすことができる。

・正規表現はその性質からテクスト処理のパターンマッチに広く利用されている. ただし, パターンマッチで利用される "正規表現" は多くの拡張が加えられているため, 学問的な意味での "正規表現" ではない。

・正規表現は様々なソフトで利用可能であるが, あるソフトでは選択を表わすメタ文字 "|" が別のソフトでは通常の文字として扱われるなど, ソフトによってその機能が異なる

※コラム(メタキャラ)
 実際に検索パターン利用できる表現文字(メタ文字と呼ばれる)には、主なものとして次のようなものがある。

^ 先頭 (行指向の場合は行頭) にマッチ
$ 末尾 (行指向の場合は行末) にマッチ
. 任意の1文字
[...] [] に含まれる任意の1文字 (文字クラス)
[^...] [] に含まれない任意の1文字 (否定文字クラス)
* 直前にある正規表現の0回以上のくり返し
+ 直前にある正規表現の1回以上のくり返し
| いずれかの正規表現 (選択)
\ 次に来る文字を文字として扱う (メタ性を失わせる)
(その他の文字はそれ自身を表わす正規表現である.)
※使用例
moe "moe" が含まれる文字列 (行) にマッチ
^moe$ "moe" という文字列 (行) にマッチ
^$ 空文字列 (空行) にマッチ

Angel of Black is in the interval exceeding light and darkness...