首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

解释上这个 正则表达式

2013-01-25 
解释下这个 正则表达式preg_match_all(/\?(?:(\d)|)?/, ?10, $mat)) //这个结果是[0] Array([0]

解释下这个 正则表达式


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

(?: )则表示不进行匹配,所以没有进入到结果数组
[解决办法]
多一对括号就多一组咯,以括号分组的。

热点排行