Rumah  >  Artikel  >  pembangunan bahagian belakang  >  preg_match有关问题

preg_match有关问题

WBOY
WBOYasal
2016-06-13 12:47:58866semak imbas

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 -- 进行全局正则表达式匹配 , 返回共计匹配的个数。和上面的一样,不同的是匹配到最后。
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn