$s = "abcdd asa";
preg_match("/.+?/", $s, $aMatch1);
print_r($aMatch1);为什么得到的是 Array ( [0] => a ) ,/.+?/ 意思不是配置非空字符么,为什么就只有a 呢, 后面的为什么就匹配不出来呢?另外如果在 两侧加了括号,/(.+?)/ $s = "abcdd asa";
preg_match("/(.+?)/", $s, $aMatch1);
print_r($aMatch1);输出结果会变成 Array ( [0] => a [1] => a ) 为什么啊?谢谢高手指点!
preg_match_all才会抓取所有的匹配结果。
加()表示将()内部的匹配结果放入搜索结果的数组中,而Array[0]始终都是完全匹配正则表达式的那个结果。