PHP   发布时间:2019-11-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – (.*)而不是(.*?)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我们有这个html内容,我们愿意用正则表达式获取Content1,Content2,..
<li>Content1</li>
<li>Content2</li>
<li>Content3</li>
<li>Content4</li>

如果我使用下面的行

preg_match_all('/<li>(.*)<\/li>/',$text,$result);

我将得到一个包含以下单行的数组:

Content1</li>
<li>Content2</li>
<li>Content3</li>
<li>Content4

通过使用此代码:

preg_match_all('/<li>(.*?)<\/li>/',$result);

我将得到一个包含4行的数组,包含Content1,…

为什么(.*)不起作用,因为它意味着匹配任何字符零次或多次

解决方法

*以贪婪的方式比赛,*?以非贪婪的方式比赛.

这意味着.*将匹配尽可能多的字符,包括所有中间< / li>< li>对,仅在最后一次出现的< / li>时停止.另一方面,.*?将匹配尽可能少的字符,在第一次出现< / li>时停止.

大佬总结

以上是大佬教程为你收集整理的php – (.*)而不是(.*?)全部内容,希望文章能够帮你解决php – (.*)而不是(.*?)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:php不是