リファレンストップへ PHP | mb_ereg_search_regs使用した環境 PHP 5.2.13 正規表現にマッチした部分を取得します。繰り返しのマッチ検索を実施する際に、マッチした文字列を取得します。 mb_language('Japanese'); mb_internal_encoding('UTF-8'); mb_regex_encoding('UTF8'); $str = "あいう0えおか1きく2け3こ"; $reg = "([0])|([1])"; mb_ereg_search_init($str, $reg); while ($arr = mb_ereg_search_regs()) { var_dump($arr); echo "<br />"; } このサンプルでは結果は以下のようになります。 array(3) { [0]=> string(1) "0" [1]=> string(1) "0" [2]=> bool(false) } array(3) { [0]=> string(1) "1" [1]=> bool(false) [2]=> string(1) "1" } この関数が返す配列は、正規表現グループ単位で一要素として扱われます。 グループ別にマッチしていない場合はfalseが格納されており、 マッチしている場合には、該当する要素位置に マッチした部分文字列が格納されています。 mb_ereg_search_getregs()とよく似ていますが、 mb_ereg_search_getregsは最後にマッチした結果を取得するのに対し、 mb_ereg_search_regsはマッチの検証と検索開始位置の移動を同時に行う点が異なります。 |
|