PGBox
P
G
Box

mb_ereg_search_getregs

正規表現のメニューへ戻る



使用した環境
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 (mb_ereg_search()) {
    var_dump(mb_ereg_search_getregs());
    echo "<br />";
    
}

このサンプルの正規表現では、0と1それぞれグループ化し、orでマッチを行っています。


結果は以下のようになります。
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_regs()とよく似ていますが、
mb_ereg_search_regsはマッチの検証と検索開始位置の移動を同時に行うのに対し
mb_ereg_search_getregsは最後にマッチした結果を取得する点で異なります。








正規表現のメニューへ戻る