<?php $str = "abc_ABC_123abc"; $patt = '/^abc(.*?)abc$/'; //有一个模式单元就会多一个存储 $arr = null; //把匹配到的值存到数组中 $res = preg_match($patt, $str, $arr); //先存储匹配到的,在存储模式单元到$arr print_r($arr); echo "<hr />"; ?> <?php $str = "abcabcabc123"; $patt = "/([a-b])(.*?)(\d)/ism"; $arr = null; $res = preg_match_all($patt,$str,$arr); print_r($res); //返回结果的个数 echo "<pre>"; print_r($arr); echo "</pre>"; echo "<hr />"; ?> <?php // $str = "abcabc123abc"; // $patt = "/\d{3}/"; // $res = preg_replace($patt, "ABC", $str); // print_r($res); $str = "12-28-2016"; $patt = "/(\d{2})-(\d{2})-(\d{4})/"; $res = preg_replace($patt, "\\3年\\1月\\2日", $str); //通过\\3把存储的模式单元值拿出来 print_r($res); echo "<hr />"; ?> <?php $arr = array("a", "b", 1, 2, 7); $patt = "/\d/"; $res = preg_grep($patt, $arr); print_r($res); ?>