正規表現入門

正規表現入門

正規表現についてです。正規表現にはメタ文字と言う特殊な意味を持つ文字があります。

以下はメタ文字です。

^$.[]()*?+|

^は行頭を意味します。但し[]の中で^を使うと意味が変わります。

$は行末を意味します。

[0-9]で0から9のどれかの文字を表します。

[^0-9]とすると0から9以外の文字となり、否定を意味します。

また、メタ文字には_(アンダーバー)はありません。

?は直前の1文字がある、またはない場合を意味します。

windows?98とすると、window98、windows98の2つにマッチします。

以下、色々な例です。

\d{3,3}
3桁の数値
\d{4,4}
4桁の数値
\d{5,}
5桁以上の数値

+で直前の文字を繰り返す

[a-zA-Z]でアルファベットを表します。これに+をつけます。

[a-zA-Z]+

これでアルファベットの連続した文字を意味します。

abc
def
ghi ←先頭に半角空白があるのでヒットしない

|でいずれかの文字列を表す

|で文字を区切ってどれかの文字列マッチします。

abc|def

abcかdefにマッチします。

数字の範囲

数字の範囲を正規表現で指定する場合も|を使用します。

01-63の例です。

^0[1-9]|[1-5][0-9]|6[0-3]$

2桁目が0の場合、1桁目が取りうる値は1~9です。なので、0[1-9]とします。

2桁目が1~5の場合、1桁目が取りうる値は0~9です。なので、[1-5][0-9]とします。

2桁目が6の場合、1桁目が取りうる値は0~3です。なので、6[0-3]とします。

これを|でつなげば上記の通りとなり、数字の範囲指定が可能となります。

オンラインエディタ

正規表現に困った場合は以下サイトの正規表現エディタを使うと便利です。

Rubular

コメント

タイトルとURLをコピーしました