首页 > 其他 > 详细

正则表达式:最大匹配与最小匹配

时间:2014-11-26 13:50:01      阅读:375      评论:0      收藏:0      [点我收藏+]

PHP正则配批的脚本如下

  1. <?php   
  2. $mode="/abc(.*)g/i";   
  3. $str="abcdefgabcdefg";   
  4. preg_match($mode,$str,$res);   
  5. echo $res[0];   
  6. ?>  

打印出“abcdefgabcdefg”,因为它尽可能多地匹配模式,直至结尾的‘g’。 要改变匹配特点,只须简单地在量词(加号[+]或星号[*])后面加一个问号(?)即可。在上面的程序中把模式改为在‘+’之后包含一个‘?’格式如下。

$mode = "/abc(.*?)g/i";

输出变成“ abcdefg ”,因为模式不再贪婪,这也是正则的最小匹配,对于需要循环得到的内容,一般是需要用到最小匹配。

当然在php中你可以在模式之外添加模式修正符 "U" 来设置禁止贪婪匹配。

正则表达式教程之模式修正符使用介绍 http://www.jb51.net/article/31450.htm

正则表达式:最大匹配与最小匹配

原文:http://www.cnblogs.com/Alight/p/4122846.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!