为了账号安全,请及时绑定邮箱和手机立即绑定

为何(.*)和(.*?)匹配结果一样?

【为何(.*)和(.*?)匹配结果一样?】


我写的正则表达式:

$p = '/<li>(.*)<\/li>/';

也能正确输出结果,不是应该贪婪匹配的吗?


例如:<li></li>内容<li></li>

不是应该将下划线部分整体匹配吗?


正在回答

2 回答

懒惰模式是在匹配最近的一个标志,贪婪模式是匹配到最远的一个标志。看你的代码因为$st中<li></li>和<li></li>有一个换行符的,所以正则表达式结果一样的,如果转为一行就不一样了。

2 回复 有任何疑惑可以回复我~
#1

no4990 提问者

谢谢,试了一下,确实是这样的。
2018-03-13 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5e256df70001590f04890566.jpg

好像就是网页上的输出没显示

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为何(.*)和(.*?)匹配结果一样?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信