PHP|正規表現について
パターンの書き方
パターンの構成は、以下のようになる
"/パターン/パターン修飾子"
パターン(先頭と末尾)
^ | 後に続く文字を先頭とする |
$ | 前にある文字を末尾とする |
パターン(制御)
? | 最小マッチを意味します。 |
パターン(繰り返し)
* | 前の文字が0個以上繰り返す |
+ | 前の文字が1個以上繰り返す |
? | 前の文字が0個、または1個 |
*? | 前の文字が0個以上(最小回数マッチです。) |
+? | 前の文字が1個以上(最小回数マッチです。) |
?? | 前の文字が0個、もしくは1個以上(最小回数マッチです。) |
{x,y} | 前の文字をx個~y個続ける |
{x} | 前の文字をx個続ける |
{x,} | 前の文字をx個以上続ける |
パターン修飾子について
なし | 文字列の1行目のみ確認する |
s | 改行文字を無視し、1行とみなして調べる |
i | 大文字と小文字の違いを無視 |
u | 対象文字列をUTF-8として扱う |
e | 置換文字列をPHPコードとして実行 |
色々な正規表現のサンプル
郵便番号 | /^[0-9]{3}-[0-9]{4}$/ |
電話番号 | /^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/ |
Emailアドレス | |^[0-9a-z_./?-]+@([0-9a-z-]+\.)+[0-9a-z-]+$| |
全角空白のトリム | /^ *(.*?) *$/u |
半角+全角空白のトリム | /^[\s ]*(.*?)[\s ]*$/u |
正規表現を使えるPHPの標準関数
preg_filter | 正規表現で検索と置換をする |
preg_grep | パターンにマッチする配列の要素を返す |
preg_last_error | 直近の PCRE 正規表現処理のエラーコードを返す |
preg_match_all | 繰り返しで正規表現検索をする |
preg_match | 正規表現のパターンマッチングをする |
preg_quote | 正規表現文字をクオートする |
preg_replace_callback_array | 正規表現検索を行い、コールバック関数を使用して置換をする |
preg_replace_callback | 正規表現検索を行い、コールバック関数を使用して置換をする |
preg_replace | 正規表現検索および置換をする |
preg_split | 正規表現で文字列を分割する |
オーソドックスに正規表現でパターンにマッチしているかを確認するには、preg_match() を使う。
------------------------------
作成日:2018年03月18日
更新日:2018年03月21日
------------------------------