<?php //請(qǐng)修改變量p的正則表達(dá)式,使他能夠匹配str中的姓名 $p = '/\w{4}:(\w{6}\s{1}\w{4})/'; $str = "name:steven jobs"; preg_match($p, $str, $match); echo $match[1]; //結(jié)果為:steven jobs
$p = '/\w{4}:(\w{6}\s{1}\w{4})/';可以$p = '/\w{6}\s{1}\w{4}/';不行 ? ?為什呢?呢??????????
2016-03-15
如果是$p = '/\w{4}:(\w{6}\s{1}\w{4})/';
$match[0]=name:steven jobs
$match[1]=steven jobs
如果是$p = '/\w{4}:(\w{6}\s({1}\w{4}))/;
$match[0]=name:steven jobs
$match[1]=steven jobs
$match[2]=jobs
至于具體原因在于int?preg_match( string pattern, string subject [, array matches [, int flags]] )函數(shù)
如果提供了?matches,則其會(huì)被搜索的結(jié)果所填充。$matches[0] 將包含與整個(gè)模式匹配的文本,$matches[1]?將包含與第一個(gè)捕獲的括號(hào)中的子模式所匹配的文本,以此類推。
所以就會(huì)出現(xiàn)你的現(xiàn)象了
2016-03-10
你這樣可以,但是打印的時(shí)候要是 mantch[0]