$p = '/<li>(.*)<\/li>/i'; $p = '/<li>.*<\/li>/i';
两个表达式不同的地方在于有无括号,但是输出不一样,这是怎么回事?
正则表达式中的小括号的作用是对字符进行分组,并保存匹配的文本。与位于小括号之间的模式匹配的内容都会被捕获。个人感觉应该是没有影响的
括号表示的是子组,
这里的“(”表示子组的开始,“)”表示子组的结束,要匹配<li></li>标签中的数据,应该作为一组数据来匹配