読者です 読者をやめる 読者になる 読者になる

サーバー構築メモ

サーバーを構築したりWEBサイトを作ったりした際の個人的な備忘録です

PHP 文字列に対して正規表現によるパターンマッチを行う その2

PHP PHP-正規表現

その1はこちら。

何でもいい任意の文字1個が含まれているか調べる

ドット"."を使う。

<?php
//"J(何でもいい3文字)M"が含まれていればOK、でなければNGを出力
if (preg_match('/J...M/', $string)) {
  echo 'OK';
} else {
  echo 'NG';
}
?>

「検証結果」

($string)  →  (出力)
'JUGEM'  →  OK
'JUGM'  →  NG
'JUGEEEM'  →  NG
'JUGaM'  →  OK
'JUGEaaaM'  →  NG

直前の文字が0回以上続くか調べる

アスタリスク"*"を使う。

<?php
//"JUG(Eが0回以上続く)M"が含まれていればOK、でなければNGを出力
if (preg_match('/JUGE*M/', $string)) {
  echo 'OK';
} else {
  echo 'NG';
}
?>

「検証結果」

($string)  →  (出力)
'JUGEM'  →  OK
'JUGM'  →  OK
'JUGEEEEM'  →  OK
'JUGaM'  →  NG
'JUGEaaaM'  →  NG

直前の文字が1回以上続くか調べる

プラス"+"を使う。

<?php
//"JUG(Eが1回以上続く)M"が含まれていればOK、でなければNGを出力
if (preg_match('/JUGE+M/', $string)) {
  echo 'OK';
} else {
  echo 'NG';
}
?>

「検証結果」

($string)  →  (出力)
'JUGEM'  →  OK
'JUGM'  →  NG
'JUGEEEEM'  →  OK
'JUGaM'  →  NG
'JUGEaaaM'  →  NG

直前の文字が0回か、1回か調べる

クエスチョンマーク"?"を使う。

<?php
//"JUG(Eが0回か、1回)M"が含まれていればOK、でなければNGを出力
if (preg_match('/JUGE?M/', $string)) {
  echo 'OK';
} else {
  echo 'NG';
}
?>

「検証結果」

($string)  →  (出力)
'JUGEM'  →  OK
'JUGM'  →  OK
'JUGEEEEM'  →  NG
'JUGaM'  →  NG
'JUGEaaaM'  →  NG

 

その3はこちら。