PHP preg_match實(shí)現(xiàn)正則表達(dá)式匹配功能【輸出是否匹配及匹配值】
本文實(shí)例講述了PHP preg_match實(shí)現(xiàn)正則表達(dá)式匹配功能。分享給大家供大家參考,具體如下:
preg_match — 執(zhí)行一個(gè)正則表達(dá)式匹配
preg_match ( $pattern , $subject , $matches )
搜索subject與pattern給定的正則表達(dá)式的一個(gè)匹配.
參數(shù) :
pattern : 要搜索的模式,字符串類型(正則表達(dá)式)。
subject : 輸入的字符串。
matches :(可有可無)如果提供了參數(shù)matches,它將被填充為搜索結(jié)果。 $matches[0]將包含完整模式匹配到的文本, $matches[1] 將包含第一個(gè)捕獲子組匹配到的文本,以此類推。
返回值 :
preg_match()返回 pattern 的匹配次數(shù)。 它的值將是0次(不匹配)或1次,因?yàn)閜reg_match()在第一次匹配后 將會停止搜索。preg_match_all()不同于此,它會一直搜索subject 直到到達(dá)結(jié)尾。 如果發(fā)生錯(cuò)誤preg_match()返回 FALSE。
實(shí)例1:
$label = 'content/112'; $a = preg_match('#content/(\d+)#i', $label, $mc); var_dump($a); var_dump($mc);
輸出:
int(1) array(2) { [0]=> string(11) "content/112" [1]=> string(3) "112" }
實(shí)例2:
$label = 'content/112'; $a = preg_match('#(\w+)/(\d+)#i', $label, $mc); var_dump($a); var_dump($mc);
輸出:
int(1) array(3) { [0]=> string(11) "content/112" [1]=> string(7) "content" [2]=> string(3) "112" }
實(shí)例3:
$label = 'content/112'; $a = preg_match('#content1111111/(\d+)#i', $label, $mc); var_dump($a); var_dump($mc);
輸出:
int(0) array(0) { }
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php正則表達(dá)式用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php讀取富文本的時(shí)p標(biāo)簽會出現(xiàn)紅線是怎么回事
這篇文章主要介紹了php讀取富文本的時(shí)p標(biāo)簽會出現(xiàn)紅線是怎么回事,需要的朋友可以參考下2014-05-05PHP 數(shù)據(jù)結(jié)構(gòu) 算法描述 冒泡排序 bubble sort
多次循環(huán)進(jìn)行比較,每次比較時(shí)將最大數(shù)移動到最上面。每次循環(huán)時(shí),找出剩余變量里的最大值,然后減小查詢范圍。這樣經(jīng)過多次循環(huán)以后,就完成了對這個(gè)數(shù)組的排序2011-07-07