zoukankan      html  css  js  c++  java
  • 【六】PHP正则表达式方法

    PHP中正则表达式的声明格式有两种方式,一种是POSIX老版模式,已经不常用。还有一种是其他语言中常见的PCRE方法。

    1.正则表达式的匹配方法并返回匹配的项:array preg_grep(string reg,array 被匹配的数组);

    $reg="/a|b/";
    $str=array('abcaBC','bcd','kkk');
    $ar=preg_grep($reg,$str);
    print_r($ar);//Array ( [0] => abcaBC [1] => bcd )

    2.判断目标字符串是否匹配正则表达式:int preg_match(string 正则表达式,string 目标字符串,array 存放数组(可有可无));  int preg_match_all(string 正则表达式,string 目标字符串,array 存放数组);

     $arr=$arr2=array();
     $reg="/a|b/";
     $str='cccacccccaa';
     echo preg_match_all($reg,$str,$arr);//3
     echo preg_match($reg,$str,$arr2);//1
     print_r($arr);//Array ( [0] => Array ( [0] => a [1] => a [2] => a ) )
     print_r($arr2);//Array ( [0] => a )

    3.将字符串中的特殊字符转义 string preg_quote(string 目标字符串,string 指定转义的字符串(可有可无));

    $str="$$^&#@";
    $str2='$$^&#@';
    echo preg_quote($str);// $$^&#@
    echo preg_quote($str2);// \$$^&#@
    echo preg_quote($str,'@');// $^&#@

    4.正则表达式的替换函数:preg_replace(string 正则,string 替换字符,string 目标字符串,int 替换次数(可有可无,默认全部替换));

    $reg="/a|b/";
    $str='abcskdfaasdca';
    echo preg_replace($reg,'@',$str);//@@cskdf@@sdc@
    echo preg_replace($reg,'@',$str,2);//@@cskdfaasdca

    5.正则表达式的替换函数:preg_replace_callback(string 正则 ,string callback函数名,string 目标字符串,int 可有可无的替换次数);

    function call($ss){
            $ss='obj';
            return $ss;
     }
    $reg="/a|b/";
    $str='abcdefga';
    echo preg_replace_callback($reg,'call',$str);//objobjcdefgobj
    echo preg_replace($reg,'call',$str,2);//objobjcdefga

    6.用正则表达式分割字符串,返回一个数组:array preg_split(string 正则,string 目标字符串,int 分割次数(可有可无)); 注:作为分割的匹配项被删除。

    $reg="/a/";
    $str='abcadeafga';
    print_r(preg_split($reg,$str));//Array ( [0] => [1] => bc [2] => de [3] => fg [4] => )
    print_r(preg_split($reg,$str,2));//Array ( [0] => [1] => bcadeafga )
  • 相关阅读:
    如何快速开发一个自己的项目脚手架?
    Vue模板语法中数据绑定
    vue组件间通信八种方式
    浏览器渲染页面流程
    双飞翼布局
    单行截断和多行截断问题
    flex 布局实现固定头部和底部,中间滚动布局
    defer 和 async 区别
    数学之美(统计语言模型)
    react 源码之setState
  • 原文地址:https://www.cnblogs.com/JhoneLee/p/3820651.html
Copyright © 2011-2022 走看看