• 技术文章 >php教程 >php手册

    php中preg正则函数使用

    2016-06-21 08:47:32原创780
    1.preg_match和preg_match_all的区别
    preg_match和 preg_match_all区别是preg_match只匹配一次。而preg_match_all全部匹配,直到字符串结束。例:
     string 'abcde' (length=5)
    
    array (size=1)
      0 =>
        array (size=3)
          0 => string 'abcde' (length=5)
          1 => string 'abcde' (length=5)
          2 => string 'abcde' (length=5)
     */
    ?>
    2.贪婪模式和非贪婪模式的区别
    如:String str="abcaxc";
      Patter p="ab*c";
    贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(ab*c)。
    非贪婪匹配:就是匹配到结果就好,较少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*c)。
    例:
     string 'http://www.baidu/.com?url=www.sina.com' (length=38)
      1 => string '//www.baidu/.com?url=www.sina.' (length=30)
    
    array (size=2)
      0 => string 'http://www.baidu/.com' (length=21)
      1 => string '//www.baidu/.' (length=13)
     */
    ?>
    3.preg_match_all参数PREG_PATTERN_ORDER(默认)和PREG_SET_ORDER的区别
    ]+>(.*)]+>U",
        "start: this is a testend",
        $out1);
    var_dump($out1);
    
    echo('PREG_SET_ORDER');
    preg_match_all("<[^>]+>(.*)]+>U",
        "start: this is a testend",
        $out2, PREG_SET_ORDER);
    var_dump($out2);
    
    /*
    PREG_PATTERN_ORDER
    array (size=2)
      0 =>
        array (size=3)
          0 => string 'start: ' (length=14)
          1 => string 'this is a test' (length=21)
          2 => string 'end' (length=10)
      1 =>
        array (size=3)
          0 => string 'start: ' (length=7)
          1 => string 'this is a test' (length=14)
          2 => string 'end' (length=3)
    
    PREG_SET_ORDER
    array (size=3)
      0 =>
        array (size=2)
          0 => string 'start: ' (length=14)
          1 => string 'start: ' (length=7)
      1 =>
        array (size=2)
          0 => string 'this is a test' (length=21)
          1 => string 'this is a test' (length=14)
      2 =>
        array (size=2)
          0 => string 'end' (length=10)
          1 => string 'end' (length=3)
     */
    ?>

    延伸阅读:preg_match_all使用实例



    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:preg match all abcaxc str
    上一篇:PHP微信公众开发笔记(九) 下一篇:PHP微信公众开发笔记(八)
    Web大前端开发直播班

    相关文章推荐

    • php实现高效获取图片尺寸的方法• php使用ffmpeg向视频中添加文字字幕的实现方法,• 大型网站带来的问题,大型网站带来问题• PHP实现搜索相似图片,• PHP中字符安全过滤函数使用总结

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网