preg_match($p,$s)有返回1,没有返回0
$s="中国1人a";$p='/\d/';//echo preg_match($p,$s);//有返回1,没有返回0;
1
$pm='/^1[3,5,8,7]\d{9}$/';$mobile='1522154473481';if(preg_match($pm,$mobile)==true){echo '手机号输入正确';}else{echo '手机号格式错误,请检查......';}
手机号格式错误,请检查......
preg_match_all($p,$s) 返回匹配了多少回
$s="中国1人a-56-112";$p='/\d/';$r=preg_match_all($p,$s);echo $r; //6
U为贪婪模式,按照最低标准走
$s="中国1人a-56-112";$p='/\d{1,3}/U';$r=preg_match_all($p,$s,$rr);echo $r; //6echo '<pre>';print_r($rr);

preg_replace($p2,'*',$s) 替换
$s="中国1人a-56-112";$p='/\d{1,3}/U';$p2='/\d{1,3}/';echo preg_replace($p2,'*',$s);
中国*人a-*-*
preg_replace($p2,'*',$s,100,$c) (正则表达式,要替换的内容,含替换内容的字符串,总归可以替换多少次,总共替换多少次)
$s="中国1人a-56-112";$p='/\d{1,3}/U';$p2='/\d{1,3}/';echo preg_replace($p2,'*',$s,100,$c);//100表示为可以最多替换100次,$cc为总替换多少次;echo $c;
中国*人a-*-*3
preg_split($pp,$addr) 将字符串分割成数组
$addr='郑州,开封a南阳6洛阳100许昌';$pp='/[,a]|\d{1,3}/';$rr=preg_split($pp,$addr);echo '<pre>';print_r($rr);

preg_replace_callback()执行一个正则表达式搜索并且使用一个回调进行替换
$s='php123java55';$p='/\d/';function a(){echo 'ok<br>';}preg_replace_callback($p,'a',$s);//有5个匹配的值所以输出5个ok

$s='php123java55';$p='/\d/';function a(){echo 'ok<br>';}echo preg_replace_callback($p,'a',$s);

$s='php123java55';$p='/\d/';function a($m){return $m[0].'aaa';}echo preg_replace_callback($p,'a',$s);

preg_grep($p,$s)取出包含李四的或者包含河南的数组里面的字符串
$s=['河南李四','河南赵六','北京李四四','河南张三丰'];$p='/河南|李四/';$rr=preg_grep($p,$s);//取出包含李四的或者包含河南的数组里面的字符串echo '<pre>';print_r($rr);

preg_replace($p,'豫',$s)把所有的河南修改为豫
$s=['河南李四','河南赵六','北京李四四','河南张三丰'];$p='/河南/';$rr=preg_replace($p,'豫',$s);//把所有的河南修改为豫echo '<pre>';print_r($rr);
浙公网安备 33010602011771号