preg_match_all("/<\?(?:(\d)|=)?/", "<?10", $mat))
//这个结果是
[0] => Array
(
[0] => <?1
[1] => 1//为什么会有它
)
preg_match_all("/<\?(?:\d|=)?/", "<?10", $mat))
//这个结果是
[0] => Array
(
[0] => <?1
)
//第一个多了一个小括号
------解决方案--------------------
你要看手册,手册的例子说得很明白的
[0]表示整个正则匹配到的
[1]表示第一对小括号匹配到的
[2]表示第二对小括号匹配到的
……
(?: )则表示不进行匹配,所以没有进入到结果数组
------解决方案--------------------
多一对括号就多一组咯,以括号分组的。