zoukankan      html  css  js  c++  java
  • php正则表达式

    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);









  • 相关阅读:
    oracle number数据类型
    codepage 和 charset
    嵌入式jetty的HTTP实现
    OpenCV For Java环境搭建与功能演示
    luogu P2783 有机化学之神偶尔会做作弊
    [国家集训队]稳定婚姻
    [SCOI2014]方伯伯运椰子
    [APIO2017]商旅
    luogu P1121 环状最大两段子段和
    [APIO/CTSC 2007]数据备份
  • 原文地址:https://www.cnblogs.com/lsr111/p/4506891.html
Copyright © 2011-2022 走看看