码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:http   ar   使用   sp   div   art   bs   ef   as   

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   ar   使用   sp   div   art   bs   ef   as   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!