课程
/后端开发
/PHP
/PHP进阶篇
【为何(.*)和(.*?)匹配结果一样?】
我写的正则表达式:
$p = '/<li>(.*)<\/li>/';
也能正确输出结果,不是应该贪婪匹配的吗?
例如:<li></li>内容<li></li>
不是应该将下划线部分整体匹配吗?
2018-03-12
源自:PHP进阶篇 3-6
正在回答
懒惰模式是在匹配最近的一个标志,贪婪模式是匹配到最远的一个标志。看你的代码因为$st中<li></li>和<li></li>有一个换行符的,所以正则表达式结果一样的,如果转为一行就不一样了。
no4990 提问者
好像就是网页上的输出没显示
举报
轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序
2 回答加括号和不加括号的匹配结果为什么会不一样
2 回答5-6 查找所有匹配结果
6 回答正则匹配练习 输出结果不报错
1 回答为什么不敲if判断和敲上,结果一样?
4 回答为什么错了,结果都一样?