正则表达式是php中一个非常重要的知识点,通常用来查找和替换字符串,最常用的就是验证用户输入的信息格式是否正确,如邮件格式、电话格式等等。还有比如采集器之类的软件中,正则也是必用不可!
  现在开始来学习正则表达式的基本语法:
1.“/”是定界符,“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。同时为了正则更加灵活,引入了元字符,即“+”, “*”,以及 “"color: #333333">\s:用于匹配单个空格符,包括tab键和换行符;

  • \S:用于匹配除单个空格符之外的所有字符;
  • \d:用于匹配从0到9的数字;
  • \w:用于匹配字母,数字或下划线字符;
  • \W:用于匹配所有与\w不匹配的字符;
  • . :用于匹配除换行符之外的所有字符。
  • 示例:/\s+/用于匹配目标对象中的一个或多个空格字符
    2.定位符用于规定匹配模式在目标对象中的出现位置。常用的有“^”, “$”, “\b” 以及 “\B”
    (1)“^”定位符规定匹配模式必须出现在目标字符串的开头
    (2)“$”定位符规定匹配模式必须出现在目标对象的结尾
    (3)\b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一
    (4)“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内
    3.php的正则匹配模式非常灵活,可以指定某一范围 
    例如:
    /[A-Z]/
    上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。
    /[a-z]/
    上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。
    /[0-9]/
    上述正则表达式将会与从0到9范围内任何一个数字相匹配。
    /([a-z][A-Z][0-9])+/
    上述正则表达式将会与任何由字母和数字组成的字符串
    4.可以同时与多种模式选择匹配
    如/phpddt.com|phpddt|100/可以与“phpddt.com” “phpddt” “100”相匹配
    5.否定符 “[^]”规定目标对象中不能存在模式中所规定的字符串
    例如:[^phpddt]匹配除了phpddt字符外的所有东西
    下面来讲讲正则表达式常用函数吧!(非常重要)

    <"正则表达式","字符串")用于在字符串中查找匹配项 
    $email = "987044391@qq.com"; 
    if (preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([.a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+([.a-zA-Z0-9_-])$/",$email)){ 
     echo '匹配成功<hr />'; 
    }else { 
     echo '匹配失败<hr />'; 
    } 
    //preg_quote("字符串") 在每个有正则表达式语法前面加入一个转义字符即\ 
     
    $str = "php点点通是一个学习php的网站,(⊙o⊙)…"; 
    echo preg_quote($str); 
    echo "<hr />"; 
     
    //preg_split("正则","字符串")分割字符串 
    $php = "+php++点点通++++是好网站"; 
    $field = preg_split("/\+{1,}/",$php); 
    foreach($field as $f){ 
    echo $f." "; 
    } 
    echo "<hr />"; 
    //preg_grep("正则","字符串") 与数组匹配后返回新数组 
    $phpddt = array("php点点通","php100","呵呵","hahaha","phpchina"); 
    $item = preg_grep("/^php/",$phpddt); 
    print_r($item); 
     
    echo "<hr />"; 
    //preg_replace("正则","替换内容","原字符串") 很重要,很常用 
    $a = "欢迎光临https://www.jb51.net/"; //给http开头的加上超链接 
    echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>","$a"); 
    ?> 

    以上就是本文的全部内容,希望对大家的学习php正则表达式有所帮助。

    标签:
    php,正则表达式

    免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
    狼山资源网 Copyright www.pvsay.com

    评论“非常重要的php正则表达式详解”

    暂无“非常重要的php正则表达式详解”评论...

    稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

    昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

    这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

    而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?