文字列関連

[PHP] 正規表現でチェックする(preg_match)

2015年11月8日

PHPで正規表現チェックを行いたい場合は、
preg_match 関数を使用します。

サンプルソース

例)郵便番号形式チェックを行う


<?php
 $val = '123-4567';
 if(preg_match('/^¥d{3}-¥d{4}$/', $val)){
   print('郵便番号形式にマッチします');
 }else{
   print('郵便番号形式にマッチしません');
 }

結果

郵便番号形式にマッチします

正規表現パターン

正規表現パターンには以下のようなものがあります。

【正規表現】
パターン 意味
^ 文字列の先頭を表す
$ 文字列の末尾を表す
. 任意の1文字とマッチ
abc 文字列'abc'とマッチ
[abc] 'a'、'b'、'c'いずれかにマッチ
[^abc] 'a'、'b'、'c'以外にマッチ
[a-z] a~zいずれかにマッチ(半角英小文字)
[A-Z] A~Zいずれかにマッチ(半角英大文字)
[0-9] 0~9いずれかにマッチ(数値)
X{n} Xをn回マッチ
X{n,} Xをn回以上マッチ
X{n,m} Xをn回以上m回以下マッチ
X? Xを0回または1回マッチ
X* Xを0回以上マッチ
X+ Xを1回以上マッチ
(X|Y) XとYどちらかにマッチ
¥d 数値にマッチ
【正規表現サンプル】
チェック 正規表現
半角数値のみ /^[0-9]+$/
半角英数字のみ /^[a-zA-Z0-9]+$/
郵便番号形式 /^¥d{3}-¥d{4}$/

-文字列関連
-