正規表現
読み:せいきひょうげん
外語:regular expression
記号列の集合を表わす方法の一つ。有限オートマトンで受理される言語は、正規表現で表わすことができる。
概要
正規表現はその性質からテクスト処理のパターンマッチに広く利用されている。ただし、パターンマッチで利用される「正規表現」は多くの拡張が加えられているため、学問的な意味での「正規表現」ではない。
正規表現は様々なソフトウェアで利用可能であるが、標準はない。このため、あるソフトでは選択を表わすメタ文字 "|" が別のソフトでは通常の文字として扱われる例があるなど、実装によって機能が異なることもある。
特徴
メタ文字
実際に検索パターンに利用できる表現文字(メタ文字と呼ばれる)には、次のようなものがある。
^ | 先頭(行指向の場合は行頭)に適合 |
$ | 末尾(行指向の場合は行末)に適合 |
. | 任意の1文字 |
[...] | []に含まれる任意の1文字(文字クラス) |
[^...] | []に含まれない任意の1文字(否定文字クラス) |
* | 直前にある正規表現の0回以上の繰り返し |
+ | 直前にある正規表現の1回以上の繰り返し |
| | いずれかの正規表現(選択) |
\ | 次に来る文字を文字として扱う(メタ性を失わせる) |
その他の文字はそれ自身を表わす正規表現であるが、拡張により他の機能を持つものもある。英数文字等ではそのような例は考えにくいが、記号類については注意が必要である。
使用例
- moe
- "moe" が含まれる文字列(行)に適合
- ^moe$
- "moe"という文字列(行)に適合
- ^$
- 空文字列(空行)に適合
再検索