最終更新:2011-02-28 (月) 11:39:45 (2396d)  

preg_match はてなブックマークを見る
Top / preg_match

正規表現によるマッチングを行う(単数)

preg_match("/パターン/", 調べる文字列,$matches);

"/パターン/"  //文字列の1行目のみを調べる
"/パターン/g"  //複数行を調べる
"/パターン/s"  //改行文字を無視し、1行とみなして調べる
"/パターン/i"  //文字列の大文字・小文字を区別しない
"/パターン/is"  //大文字・小文字を区別せず、1行とみなして調べる

$matches[0] //パターン全体にマッチしたテキスト
$matches[1] //1 番目ののキャプチャ用サブパターンにマッチした 文字列
 

PHP 5.2.0? 以降でうまく動かない問題

pcre.backtrack_limit integer default 100000
  • PCRE のバックトラック処理の制限値です。
pcre.recursion_limit integer default 100000
  • PCRE の再帰処理の制限値です。この値を大きくすると、 使用可能なプロセススタックを使い切ってしまい、 (OS のスタックサイズの制限値に達して) PHP をクラッシュさせてしまうことに注意しましょう。

参考

複数

  • preg_match_all?