再一次求解
$p = '/name:([\w\s]+)/';
$str = "name:steven jobs";
preg_match($p, $str, $match);
echo $match[1]; //結果為:steven jobs
$p = '/\w{4}\:\w{6}\s\w{4}/';
為什么 name :可以直接放上去呢?你看最后一行是我沒看答案時寫的。。。。。
還有就是最后echo $match[0]
$match[1] 這種是什么意思?
$p = '/name:([\w\s]+)/';
$str = "name:steven jobs";
preg_match($p, $str, $match);
echo $match[1]; //結果為:steven jobs
$p = '/\w{4}\:\w{6}\s\w{4}/';
為什么 name :可以直接放上去呢?你看最后一行是我沒看答案時寫的。。。。。
還有就是最后echo $match[0]
$match[1] 這種是什么意思?
2016-02-18
舉報
2016-02-18
name:直接寫上去是表示所匹配的必須含有name:這個字符串,后面接上正則([\w\s]+)
至于$match[]是一個數組,用來存儲匹配成功的字符串,例如$match[0]所存儲的就是整個正則表達式所匹配成功的字符串,而 $match[1]表示第一個括號子模式所匹配的字符串即([\w\s]+),$match[2]則表示第二個括號子模式所匹配的字符串
你寫的那個就和題意有所不一致了......題目可能要求前面必須是有name:?????你的正則的話abcd:steven jobs";這是可以過得,具體還看題意,可能理解不到位吧
說得不好望指正
2016-02-18
對的,不然元字符本身有其他意義,加上\表轉義,就把元字符當成文本了