サーバー構築メモ

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

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

その2はこちら。

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

{x,}を使う。

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

「検証結果」

($string)  →  (出力)
'JUGEM'  →  NG
'JUGEEEM'  →  OK
'JUGEEEEEM'  →  OK
'JUGEEEEEEEM'  →  OK

直前の文字がx回以上、y回以下続くか調べる

{x,y}を使う。

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

「検証結果」

($string)  →  (出力)
'JUGEM'  →  NG
'JUGEEEM'  →  OK
'JUGEEEEEM'  →  OK
'JUGEEEEEEEM'  →  NG

メタ文字自体をパターンマッチの文字として扱う

手前に¥マークを付ける。

<?php
//"test.txt"が含まれていればOK、でなければNGを出力
if (preg_match('/test¥.txt/', $string)) {
  echo 'OK';
} else {
  echo 'NG';
}
?>

「検証結果」

($string)  →  (出力)
'test.txt'  →  OK
'test1txt'  →  NG

 

その4はこちら。