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

    元字符在正则表达式内部具有的独特含义:

     

    字符

    名字

    含义

    ^

    补字符号

    指示字符串的开始

    $

    美元符号

    指示字符串的结尾

    .

    句点

    任意单个字符

    |

    竖线

    二中选一()

     

      用法:

            'a|b':匹配包含ab的字符串

             '^a':匹配以a开头的任何字符串

             '$a':   匹配以a结尾的任何字符串

             '^a$':只匹配a

     

    量词规定某个字符可以或必须出现的次数:

     

    字符

    含义

    ?

    0次或1

    *

    0次或多次

    +

    1次或多次

    {x}

    正好出现x

    {x,y}

    x次和y次之间(xy)

    {x,}

    至少出现x

     

    类别是把字符串防止在方括号[]内创建的:

     

    字符串类别是用于定义模式的更灵活的工具:

     

    类别

    含义

    [a-z]

    任意小写字母

    [a-zA-Z]

    任意字母

    [0-9]

    任意数字

    [\f\r\t\n\v]

    任意空白

    [aeiou]

    任意元音字母

    [[:alnum:]]

    任意字母或数字

    [[:alpha:]]

    任意字母

    [[:blank:]]

    任意制表符或空格

    [[:digit:]]

    任意字母

    [[:lower:]]

    任意小写字母

    [[:upper:]]

    任意大写字母

    [[:punct:]]

    任意符号

    [[:space:]]

    任意空白

     

     

    匹配模式:

               PHP中构建了两个函数,它们明确用于匹配字符串内的模式,这两个函数时erge()eregi()(Perl兼容的正则表达式代之以使用preg_match())。它们的唯一区别:ereg()把模式视为区分大小写,而eregi()则不区分大小写。如果模式匹配,这两个函数都会返回true,如果不匹配,则为false

     

     

       eg

           验证电子邮件:

     

              

    if(!eregi('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$',stripslashes(trim($_POST['email']))))

      

     

         验证URL

     

            

     if(!eregi('^((http|https|ftp)://)?([[:alnum:]\-\.])+(\.)([[:alnum:]]){2,4}([[:alnum:]/+=%&_\.~?\-]*)$
    ',stripslashes(trim($_POST['url']))))

      

     

         验证URL类别:

     

            if(!isset($_POST['url_category']) OR !is_numeric($_POST['url_category']))

     

    匹配和替换模式

     

    用于用稍微不同的模式或特定的文本替换:

       ereg_replace('pattern','replace','string')                 //区分大小写

       eregi_replace('pattern','replace','string')                 //不区分大小写

     

    1  
    2 if(eregi('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$',stripslashes(trim($_POST['email']))))
    3 {
    4 $email=eregi_replace('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$',<a href="mailto:\\0">Email</a>,stripslashes(trim($_POST['email'])));
    5 }

      

  • 相关阅读:
    oracle数据库创建后要做的事情
    (转)ORA-12519: TNS:no appropriate service handler found 的问题处理。
    oracle数据库出现“批处理中出现错误: ORA-00001: 违反唯一约束条件”解决方法
    oracle一点记录
    ora-01400 无法将NULL插入 ID 解决方法
    execl一个工作薄中有几个个工作表,将这几个个工作表分别保存到不同execl文件中
    cutpFTP设置步骤
    Oracle数据库备份与还原操作具体步骤
    redis的安装和pip连接
    微信授权登录
  • 原文地址:https://www.cnblogs.com/fanchangfa/p/2171271.html
Copyright © 2011-2022 走看看