投稿 评论 顶部

php正则说明

佚名 网络安全

一  .  正则表达式组成

  '/正则表达式/'  - - -  模糊查询      '/^正则表达式$/' - - - -  精准匹配

  1 . 转义字符

    \w  匹配任意一个数字,字母,下划线

    \W 匹配任意一个非数字字母下划线之外的任意一个

    \d  匹配任意一个数字0-9

    \D  匹配任意一个非数字

    \s  匹配任意一个 空白字符

    \S 匹配任意一个非空字符

  

  2.原子表  [   ]  匹配其中的任意一个

  3.(    )子模式

    (1).整体一次小括号再匹配一次

    (2).重复使用的模式单元

    (3).将多个原子括在一起进行次数修饰

    (4).(?  : )取消子模式

    (5).次数修饰

      {n}修饰前面的原子出现n次

      {n,} 修饰其前面的原子出现的次数至少n次

      {n,m}原子出现n,m次

 

二  .  正则的函数

    1.preg_match($pattern , $str  , $arr );

          (正则表达式,匹配的字符串,匹配到的结果)

      var_dump($arr) --------匹配到的结果

    2.preg_grep() 返回模式匹配的数组单元 -------筛选 过滤

    3.preg_match_all();执行多次匹配

      进行全局正则表达式匹配   返回共计匹配的人数

      //匹配所有的a标签   $a = '/<a.*?  href="(.*?)">(.*?)</a>/';

    4.preg_replace()    ---执行正则表达式的搜索和替换

      类似于  str_replace()         (要替换的,替换的,原字符串)

      例子: $str = 'a?b?c';

      var_dump(str_replace(' ? '  ,  ' : ' , $str));   => a:b:c

    5.preg_split()  --- 分割     

      类似于  explode();

      $str = "09/24/2015"          转换成  2014-09-24

      var_dump(preg_replace('/(\d{2}\/(\d){2}\/(\d){4})/'),'\\3-\\1-\\2',$str);