码迷,mamicode.com
首页 > Web开发 > 详细

php正则表达式

时间:2015-05-15 22:48:28      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

preg_match($p,$s)有返回1,没有返回0
  1. $s="中国1人a";
  2. $p=‘/\d/‘;
  3. //echo preg_match($p,$s);//有返回1,没有返回0;
1
正则表达式验证手机号$pm=‘/^1[3,5,8,7]\d{9}$/‘;
  1. $pm=‘/^1[3,5,8,7]\d{9}$/‘;
  2. $mobile=‘1522154473481‘;
  3. if(preg_match($pm,$mobile)==true){
  4. echo ‘手机号输入正确‘;
  5. }else{
  6. echo ‘手机号格式错误,请检查......‘;
  7. }
手机号格式错误,请检查......
preg_match_all($p,$s) 返回匹配了多少回
  1. $s="中国1人a-56-112";
  2. $p=‘/\d/‘;
  3. $r=preg_match_all($p,$s);
  4. echo $r; //6
U为贪婪模式,按照最低标准走
  1. $s="中国1人a-56-112";
  2. $p=‘/\d{1,3}/U‘;
  3. $r=preg_match_all($p,$s,$rr);
  4. echo $r; //6
  5. echo ‘<pre>‘;
  6. print_r($rr);
技术分享
preg_replace($p2,‘*‘,$s)   替换
  1. $s="中国1人a-56-112";
  2. $p=‘/\d{1,3}/U‘;
  3. $p2=‘/\d{1,3}/‘;
  4. echo preg_replace($p2,‘*‘,$s);
中国*人a-*-*
preg_replace($p2,‘*‘,$s,100,$c)  (正则表达式,要替换的内容,含替换内容的字符串,总归可以替换多少次,总共替换多少次)
  1. $s="中国1人a-56-112";
  2. $p=‘/\d{1,3}/U‘;
  3. $p2=‘/\d{1,3}/‘;
  4. echo preg_replace($p2,‘*‘,$s,100,$c);
  5. //100表示为可以最多替换100次,$cc为总替换多少次;
  6. echo $c;
中国*人a-*-*3
preg_split($pp,$addr) 将字符串分割成数组
  1. $addr=‘郑州,开封a南阳6洛阳100许昌‘;
  2. $pp=‘/[,a]|\d{1,3}/‘;
  3. $rr=preg_split($pp,$addr);
  4. echo ‘<pre>‘;
  5. print_r($rr);
技术分享
preg_replace_callback()执行一个正则表达式搜索并且使用一个回调进行替换
  1. $s=‘php123java55‘;
  2. $p=‘/\d/‘;
  3. function a(){
  4. echo ‘ok<br>‘;
  5. }
  6. preg_replace_callback($p,‘a‘,$s);//有5个匹配的值所以输出5个ok
技术分享
  1. $s=‘php123java55‘;
  2. $p=‘/\d/‘;
  3. function a(){
  4. echo ‘ok<br>‘;
  5. }
  6. echo preg_replace_callback($p,‘a‘,$s);
技术分享
  1. $s=‘php123java55‘;
  2. $p=‘/\d/‘;
  3. function a($m){
  4. return $m[0].‘aaa‘;
  5. }
  6. echo preg_replace_callback($p,‘a‘,$s);
技术分享
preg_grep($p,$s)取出包含李四的或者包含河南的数组里面的字符串
  1. $s=[‘河南李四‘,‘河南赵六‘,‘北京李四四‘,‘河南张三丰‘];
  2. $p=‘/河南|李四/‘;
  3. $rr=preg_grep($p,$s);//取出包含李四的或者包含河南的数组里面的字符串
  4. echo ‘<pre>‘;
  5. print_r($rr);
技术分享
preg_replace($p,‘豫‘,$s)把所有的河南修改为豫
  1. $s=[‘河南李四‘,‘河南赵六‘,‘北京李四四‘,‘河南张三丰‘];
  2. $p=‘/河南/‘;
  3. $rr=preg_replace($p,‘豫‘,$s);//把所有的河南修改为豫
  4. echo ‘<pre>‘;
  5. print_r($rr);









php正则表达式

标签:

原文地址:http://www.cnblogs.com/lsr111/p/4506891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!