Home >Backend Development >PHP Tutorial > preg_match有关问题

preg_match有关问题

WBOY
WBOYOriginal
2016-06-13 12:47:58883browse

preg_match问题
想看table字符串中是否有“rpt_”或者“ods_”或者“dw_”,如果有,则把这个匹配到的字符串截取出来放到一个数组中,我是这么来做的
$table="s_dw_xxdf_aw_aaas";
preg_match('/rpt_|ods_|dw_|/i', $table, $arr);
print_r($arr);
但是为嘛打印出来的数组是
(
    [0] => 
)


------解决方案--------------------
<br />
//正则表达式中没有最后的 <br><font color='#FF8000'>------解决方案--------------------</font><br> ,楼主的正则表达式匹配的是一个空字符串<br />
preg_match('/rpt_<br><font color='#FF8000'>------解决方案--------------------</font><br>ods_<br><font color='#FF8000'>------解决方案--------------------</font><br>dw_/i', $table, $arr);<br />
var_dump($arr);//array(1) { [0]=> string(3) "dw_" } <br />

------解决方案--------------------
preg_match 进行正则表达式匹配,只匹配一次,返回1,否则0,
     格式:preg_match("正则表达式","被匹配的字串",存放结果的变量名,PREG_OFFSET_CAPTURE,起始偏移量)
其中:PREG_OFFSET_CAPTURE表示获取匹配索引位置
        起始偏移量:从指定位置开始匹配
preg_match_all -- 进行全局正则表达式匹配 , 返回共计匹配的个数。和上面的一样,不同的是匹配到最后。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn