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’の文字に一致します。
\ (円マーク)
エスケープ文字です。特殊文字(メタ文字)としてではなく通常文字として解釈されます。
「\+」のように使用した場合、プラスの文字に一致します。
他にも色々ありますが、随時追加していきます。