0
我有這樣的事情preg_match_all匹配陣列
$matches = array();
preg_match_all('/(`.+`)(\s+AS\s+`.+`)?/i', '`foo` AS `bar`', $matches);
print_r($matches);
結果是
Array
(
[0] => Array
(
[0] => `foo` AS `bar`
)
[1] => Array
(
[0] => `foo` AS `bar`
)
[2] => Array
(
[0] =>
)
)
所以,問題是,爲什麼我沒有「爲'bar`」在$matches[2][0]
? (如果我刪除從正則表達式的符號「?」,我會得到它,但我需要的「?」 :))
你可以只添加「U」的模式修飾符(在用「I」結尾),您似乎假設每個量詞非貪婪。 –