正規表現
読み:せいきひょうげん
外語:regular expression

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

概要
 正規表現はその性質からテクスト処理のパターンマッチに広く利用されている。ただし、パターンマッチで利用される「正規表現」は多くの拡張が加えられているため、学問的な意味での「正規表現」ではない。
 正規表現は様々なソフトウェアで利用可能であるが、標準はない。このため、あるソフトでは選択を表わすメタ文字 "|" が別のソフトでは通常の文字として扱われる例があるなど、実装によって機能が異なることもある。

特徴

メタ文字
 実際に検索パターンに利用できる表現文字(メタ文字と呼ばれる)には、次のようなものがある。
^先頭(行指向の場合は行頭)に適合
$末尾(行指向の場合は行末)に適合
.任意の1文字
[...][]に含まれる任意の1文字(文字クラス)
[^...][]に含まれない任意の1文字(否定文字クラス)
*直前にある正規表現の0回以上の繰り返し
+直前にある正規表現の1回以上の繰り返し
|いずれかの正規表現(選択)
\次に来る文字を文字として扱う(メタ性を失わせる)
 その他の文字はそれ自身を表わす正規表現であるが、拡張により他の機能を持つものもある。英数文字等ではそのような例は考えにくいが、記号類については注意が必要である。

使用例
moe
"moe" が含まれる文字列(行)に適合
^moe$
"moe"という文字列(行)に適合
^$
空文字列(空行)に適合

再検索