解释下这个 正则表达式
<br />preg_match_all("/<\?(?:(\d)|=)?/", "<?10", $mat)) <br />//这个结果是<br /> [0] => Array<br /> (<br /> [0] => <?1<br /> [1] => 1//为什么会有它<br /> )<br /><br />preg_match_all("/<\?(?:\d|=)?/", "<?10", $mat)) <br />//这个结果是<br /> [0] => Array<br /> (<br /> [0] => <?1<br /> )<br />//第一个多了一个小括号<br />
------解决方案--------------------你要看手册,手册的例子说得很明白的
[0]表示整个正则匹配到的
[1]表示第一对小括号匹配到的
[2]表示第二对小括号匹配到的
……
(?: )则表示不进行匹配,所以没有进入到结果数组
------解决方案--------------------多一对括号就多一组咯,以括号分组的。
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn