リファレンス
文字クラス | 量指定子 | その他のメタ文字 | |||
---|---|---|---|---|---|
[abc] | a,b,cいずれかの1文字 | * | 0回以上の繰り返し | . | 改行以外の1文字 |
[^abc] | a,b,c以外の1文字 | + | 1回以上の繰り返し | ^ | 行頭 |
[A-Z] | 大文字のアルファベット1文字 | ? | 0回または1回の出現 | $ | 行末 |
[0-9] | 数字1文字 | {n} | n回の繰り返し | | | いずれかの文字列 |
[a-zA-Z0-9] | アルファベットか数字1文字 | {n,m} | n回以上、m回以下の繰り返し | () | グループ化 |
[!-~] | 半角文字1文字 | {n,} | n回以上の繰り返し | \ | 直後のメタ文字をエスケープする |
\w | アルファベットか数字かアンダースコア1文字 | 修飾子(末尾のデリミタの後ろに記述) | |||
\W | アルファベット、数字、アンダースコア以外の1文字 | i | 大小文字の違いを無視する | ||
\d | [0-9]と同じ | s | シングルラインモードにする(.が改行にマッチする) PHPのみ | ||
\D | [^0-9]と同じ | m | マルチラインモードにする(^と$が改行の直前直後にマッチ) | ||
\s | 空白1文字 ([ \r\t\n\f\v] と同じ) | u | マルチバイト(UTF-8)対応 PHPのみ | ||
\S | 空白以外1文字 ([^ \r\t\n\f\v] と同じ) | g | 繰り返しマッチングを行う JavaScriptのみ | ||
\n | 改行 | ||||
\t | タブ |
※メタ文字は \ ^ . $ * ? | ( ) [ ] { }
※[ ]内はメタ文字は通常の文字として扱われるのでエスケープする必要はありません。
※量指定子に続けて?を記述すると、最短でのマッチングを行います。
関数リファレンス(PHP)
preg_match()
preg_match_all() 繰り返しマッチングさせたい場合
preg_replace()マッチング箇所を別の文字列に置換させたい場合
サンプル(PHP)
正規表現 | 使用例 | |
---|---|---|
郵便番号 | /^[0-9]{3}-[0-9]{4}$/ | if (preg_match(‘/^[0-9]{3}-[0-9]{4}$/’, $str)) { |
電話番号 | /^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/ | if (preg_match(‘/^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/’, $str)) { |
Emailアドレス | |^[0-9a-z_./?-]+@([0-9a-z-]+\.)+[0-9a-z-]+$| | if (preg_match(‘|^[0-9a-z_./?-]+@([0-9a-z-]+\.)+[0-9a-z-]+$|’, $str)) { |
全角空白のトリム | /^ *(.*?) *$/u | $str = preg_replace(‘/^ *(.*?) *$/u’, ‘$1’, $str); |
半角+全角空白のトリム | /^[\s ]*(.*?)[\s ]*$/u | $str = preg_replace(‘/^[\s ]*(.*?)[\s ]*$/u’, ‘$1’, $str); |