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”结尾),您似乎假设每个量词非贪婪。 –