正規表現(PCRE 関数)
デミリタ、修飾子、メタ文字などを覚えること。メタ文字はエスケープ可能
ereg、mb_eregなどがあるが、これらは非推奨、というか削除された。絶対に使わない事。
[a-e]角カッコの中は文字クラス。abcdeにマッチ
(abc|def)サブパターンは、丸カッコで括られたパターンのこと。abcかdef
超便利名前付きパターン。連想配列で取得可能になる
(?pattern)
この場合$match[‘name’]など
貪欲マッチング。正規表現はできるだけ長いマッチングを試みる
量指定子の後に+か?をつけると貪欲マッチング(+の場合)か非貪欲マッチング(?の場合)になる。
例
/* first comment */ not comment /* second comment */
これは全てにマッチ
/\*.*\*/
?をつけると短いパターンにマッチ
/\*.*?\*/
正規表現にもコメントや再帰など色々あるけど、そこまで行くとphpに頼ったほうがいい気がする
preg_filterとpreg_replaceの違い。マッチしなかった時に返ってくるか来ないか
$r = preg_filter(“/m/”,”x”,”abcde”);
v($r);
$r = preg_replace(“/m/”,”x”,”abcde”);
v($r);
preg_matchとpreg_match_allの違い。_allナシは最初の一回だけ。_all付きは何度も行う。
$r = preg_match(“/c.*?/”,”ccccc”,$m);
v($m);
$r = preg_match_all(“/c.*?/”,”ccccc”,$m);
v($m);
ディスカッション
コメント一覧
まだ、コメントがありません