正则表达式

正则表达式
相当于模糊查询
//定界符:斜杠/正则/
//匹配开始 ^
//匹配结束:$
//

 

$zz="/^$/";//以"^"开始,以"$"结束

常用
\d 匹配一个数字[0-9]
\D 非数字字符
\s 匹配任何不可见字符,空格,制表符,换页符
\S 可见字符
\w 匹配包含下划线的任何单词,包含数字
\W 非单词
* 匹配前面的子表达式任意次
+ 匹配前面的表达式一次或多次
? 前面的子表达式一次或0次
{n} 匹配n次
[a-z]a-z之间的任意一个字母


$zz="^\d$"; //以一个数字,基本格式

1.替换

 

$zz = "/(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}/"; //手机号的正则表达式

echo preg_replace($zz,"phone",$str);

 

2.分割字符串

var_dump(preg_splid($zz,$str))//根据正则拆分字符串

$zz = "/(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}/"; //手机号的正则表达式
$str="hello 18353360995 world 18353369524 aaa bbb";
$arr=array();//定义一个空数组
preg_match($zz,$str,$arr);//匹配第一个满足正则的字符串,只能取出第一个
var_dump($arr);

 

preg_match_all($zz,$srt,$arr);//获取满足正则的所有的字符串

var_dump($arr);

3.数组

$arr=array(
"18353360995",
"6256",
"haha",
"tangyuan",
"18853362245"
)
preg_grep($zz,$arr);//匹配满足正则表达式的数组
var_dump($arr);

 

 

 

posted @ 2016-06-01 10:38  庞某人  阅读(129)  评论(0编辑  收藏  举报