如下代碼
preg_match_all('/(\\d{2}\\s){3,}/',"111333 222 33 afdafdafdafdafd01 02 03 05 07 ",$temp);
var_dump($temp);
結果是
array(2) { [0]=> array(1) { [0]=> string(15) "01 02 03 05 07 " } [1]=> array(1) { [0]=> string(3) "07 " } }
小括號中的匹配結果不是應該是01 ,02 ,03 ,05 ,07 ,嗎?為何只匹配到了一個07 ,是因為{3,}的原因?那么怎么寫能匹配到下面這樣的結果?
array(2) { [0]=> array(1) { [0]=> string(15) "01 02 03 05 07 " } [1]=> array(5) { [0]=> string(3) "01 " [1]=> string(3) "02 " [2]=> string(3) "03 " [3]=> string(3) "05 " [4]=> string(3) "07 " } }
1 回答

Helenr
TA貢獻1780條經驗 獲得超4個贊
沒錯是因為{3,}
的原因
根據你原來的寫法猜測,你想要匹配到連續3組以上由兩個數字組成的情況,且兩個數字后面緊接著空白字符。
如果是這樣的情況的話,你可以從匹配到的結果數組
array[0],"01 02 03 05 07 "這個結果再做一步切割就可以了。
- 1 回答
- 0 關注
- 459 瀏覽
添加回答
舉報
0/150
提交
取消