正規表現:特殊文字(メタ文字)のまとめ

php正規表現を使用し、文字列やデータを判定・検証することはよくあります。
正規表現で使用する特殊文字メタ文字)について下記にまとめました。


特殊文字(メタ文字)

[ ] (角括弧、角括弧閉じ)

角括弧に囲まれたものを「文字クラス」と言います。角括弧内のいずれかの一文字に一致します。
[abcde]と指定した場合、’a’、’b’、’c’、’d’、’e’のいずれかに一致します。
[a][1]で指定した場合は’a1’の文字に一致します。


- (ハイフン)

文字の範囲を指定する時に使用します。[a-z]と指定した場合、’a’から’z’の文字に一致します。
[a-z]、[A-Z]、[0-9]などハイフンを使用し範囲指定することが可能です。


^ (キャロット)

行頭を示します。
^abcのように正規表現の先頭に記載した場合は、abcで始まる文字に一致します。
^[abc]のように指定した場合は、’a’、’b’、’c’のいずれかで始まる文字に一致します。
[^abc]のように文字クラスの先頭に指定した場合は、’a’、’b’、’c’以外の文字と一致します。


+ (プラス)

直前の文字の1回以上の繰り返しに一致します。
abc+と指定した場合、’abc’、’abcc’、’abccc’などと一致します。


* (アスタリスク)

直前の文字の0回以上の繰り返しに一致します。
abc*と指定した場合、’ab’、’abc’、’abcc’、’abccc’などと一致します。
‘ab’のように’c’という直前の文字がなくても一致します。


$ (ダラー)

末尾を示します。
a$のように指定した場合、文字列の末尾にある’a’に一致します。
[a-z]$のように指定した場合は、文字列の末尾にある’a’から’z’の文字に一致します。


\ (円マーク)

エスケープ文字です。特殊文字(メタ文字)としてではなく通常文字として解釈されます。
「\+」のように使用した場合、プラスの文字に一致します。


他にも色々ありますが、随時追加していきます。