新手!正则表达式求详细注解
网上的一个例子很不明白:preg_match_all("|<[^>]+>(.*)</[^>]+>|U","<b>example:</b><divalign=left>th...
网上的一个例子很不明白:
preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div align=left>this is a test</div>", $out, PREG_PATTERN_ORDER);
不太明白正则和“PREG_PATTERN_ORDER”,“PREG_SET_ORDER”的作用!求详细说明,拜托!
程序是PHP…… 展开
preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div align=left>this is a test</div>", $out, PREG_PATTERN_ORDER);
不太明白正则和“PREG_PATTERN_ORDER”,“PREG_SET_ORDER”的作用!求详细说明,拜托!
程序是PHP…… 展开
1个回答
展开全部
"|<[^>]+>(.*)</[^>]+>|U 这句正则表达式,细细分解下<[^>]+>,显然表示的是匹配以<开头,然后中间的内容不是<的任何内容至少出现一次。(.*)表示在可以输入除换行符任意,回车符,tab符号外的任意字符,而且出现为0次或多次,</[^>]+>表示以</开头以>结束中间包含除<外的任意字符。
如果为
PREG_PATTERN_ORDER,
则结果会输出形如以下的这种样式:
<b>example: </b><div align=left>this is a test</div>
若为
PREG_SET_ORDER
则结果会输出如下形式
<b>example: </b>example:
<div align=left>this is a test</div>this is a test
即PREG_PATTERN_ORDER将匹配的结果放入$out,$out【0】放入的数据为全局匹配结果,$out【1】放入的数据为子模式匹配结果,PREG_SET_ORDER则是$out【0】放入的是第一个匹配的全局模式和子模式结果,$out【1】放入的是第二个匹配的全局模式和子模式。以此类推。
如果为
PREG_PATTERN_ORDER,
则结果会输出形如以下的这种样式:
<b>example: </b><div align=left>this is a test</div>
若为
PREG_SET_ORDER
则结果会输出如下形式
<b>example: </b>example:
<div align=left>this is a test</div>this is a test
即PREG_PATTERN_ORDER将匹配的结果放入$out,$out【0】放入的数据为全局匹配结果,$out【1】放入的数据为子模式匹配结果,PREG_SET_ORDER则是$out【0】放入的是第一个匹配的全局模式和子模式结果,$out【1】放入的是第二个匹配的全局模式和子模式。以此类推。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询