首页 > 代码库 > 【六】PHP正则表达式方法
【六】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);//objobjcdefgobjecho 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 )
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。