未来電子テクノロジーでインターンをしているyasungaといいます。
今回は正規表現についてまとめました。
正規表現とは?
正規表現とは ある文字列を一つの文字列で表すための表現方法のことです。
長い文章から特定の文字列を検索するのによく使われています。
文章だけだといまいちわからないと思うので一つ例を挙げます。
例えば以下のような文章から「」を検索したいとき
このような文字のことをメタ文字といいます。
メタ文字
メタ文字とはそれ自体が特殊な意味を持つ記号のことです。
メタ文字を普通の文字列として出力したいときは
\.
のようにバックスラッシュを先頭につけることで普通の文字列として出力できます。
メタ文字の種類
メタ文字にはたくさんの種類があります。
今回は使用頻度の高いものをまとめました。
| メタ文字 | 意味 |
|---|---|
| . | 全ての文字とマッチ |
| * | 1つ前の文字を繰り返す |
| ^ | 行の先頭の文字とマッチ |
| $ | 行の末尾の文字とマッチ |
| A|B | AかBのどちらかとマッチ |
| [X] | []内で指定した文字とマッチ |
| [X-Y] | XとYの範囲で指定した文字とマッチ |
| [^X] | []内で指定した文字以外とマッチ |
| (X) | 複数の文字を指定 |
正規表現のバックスラッシュ
バックスラッシュはメタ文字をエスケープ(普通の文字列として出力)するだけではありません。特定の文字と合わせて使うことでメタ文字として扱うことができます。これをエスケープシーケンスといいます。
以下の表によく使うエスケープシーケンスをまとめました。
| メタ文字 | 処理 |
|---|---|
| \n | 改行コード |
| \t | タブ |
| \s | すべての空白文字(半角スペース、タブなど) |
| \d | 数字([0-9]と同じ) |
| \w | すべてのアルファベットとアンダースコアから任意の一文字 |
| \l | すべての半角英小文字のうち一文字 |
| \u | すべての半角大文字のうち一文字 |
| \0 | NULL文字 |
また上図の\sから\uは大文字を使うことで指定した文字以外の文字を出力します。
まとめ
今回は正規表現の基本的なことを簡単にまとめました。今回まとめたこと以外にもメタ文字やエスケープシーケンスなどの制御文字も存在し、結構奥が深いなと感じました。