解释上这个 正则表达式

WBOY
發布: 2016-06-13 12:55:48
原創
811 人瀏覽過

解释下这个 正则表达式

<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]表示第二对小括号匹配到的
……

(?: )则表示不进行匹配,所以没有进入到结果数组
------解决方案--------------------
多一对括号就多一组咯,以括号分组的。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!