新手!正则表达式求详细注解

网上的一个例子很不明白: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……
展开
 我来答
梦云途
2011-03-01 · 超过16用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:29.9万
展开全部
"|<[^>]+>(.*)</[^>]+>|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】放入的是第二个匹配的全局模式和子模式。以此类推。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式