php学习之正则表达式(2)perl函数

时间:2022-02-25 05:38:06
  搜索数组中的相匹配的字符串
  $language=array

('php','asp','jsp','python','perl');
  找出最流行的3p语言
  这三门语言的匹配共同点是什么 最后结尾都是p

   $mode='/p$/';
打印出开头为p的语言
  $mode='/^p/';
print_r(preg_grep($mode,$language));

 demo5
  搜索模式 最后返回的是真和假

   echo preg_match('/php[1-6]','php5');

 电子邮件验证小案例(分组应用)
  $mode='/([a-zA-Z0-9_\.])@(\w\-{1,255}).([a-z]

{2,4})/';
  $string='yc60.com@gmail.com';

   if(preg_match($mode,$string))
{
   echo 'hefa'
}else
{
  echo 'buhefa'
}
   匹配全局正则 放到数组中去
   echo preg_match_all('/php[1-

5]/','php5dsagfgdphp6dasfdphp4',$out);

  定界特殊的正则表达式
 
   preg_quote('PHP is $150');


   替换模式的所有出现

   搜索匹配的结果 然后替换
第一个参数 模式 第二个表示替换掉的字符串
  第三个参数 字符串
    preg_replace('/php[1-6]/','python','this is a

php5,this is a php4');

   贪婪和分组获取的案例 ubb

    将[b]换成<string>
    注意一个问题 这个时候的[]中括号 是字符中的括

号 而不是语法[a-z]
  .表示匹配任意字符一个 加上一个*号表示匹配零个或

者多个
  用括号分为3组 那么第一组就是\1 第二 \2 第三 \3
  解决贪婪问题U
     $mode='/\[b](.*)\[\/b\]/'
     $string='this is a [b]php5[\b],his is a [b]

php4[\b],'

   $replace='<strong>\1</strong>';
    echo preg_replace($mode,$replace,$string);