问答详情
源自:3-6 查找所有匹配结果

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

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


我写的正则表达式:

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

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


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

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


提问者:no4990 2018-03-12 23:27

个回答

  • 慕莱坞0034921
    2018-03-13 14:11:36
    已采纳

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

  • 坐不住的雨伞
    2020-01-20 17:09:00

    http://img2.mukewang.com/5e256df70001590f04890566.jpg

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