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

PHP正则:

时间:2016-05-18 01:43:31      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

 正则是用来处理字符串一种文字模式,可以匹配,查找,替换,分割字符串。正则是有原子(普通字符串),一些特殊含义的字符,和定界符,模式修正符组成的。

     定界符表示已经写完了正则表达式,一般用/来表示。

     原子是任意字符,不同一些对于正则来说特殊的字符需要转义后后才能使用,如 . + * ?

     一些规定的简易化特殊字符:\d匹配任意数字,\D出数字外字符,\w数字和字母,下划线 \W   \s任意空白字符

   元子符:

           *零次,一次或是多次

            +一次或多次

           ?零次或是一次

            .除了换行符以外的任意字符

            |分支选择

             {N},{n,m}

             ^或是\A匹配开头

             $或是\Z匹配结尾

            \b匹配单词边界

             \B不匹配单词边界

            []

            [^]

            ()

          例子:

                匹配this is test

                边界限制:

               /^this/  匹配this开头的字符串

               /test$/ 匹配test结尾的字符串

               /\bis\b/ 匹配左右都有边界的is字符,只有is符合

              /\Bis\b/ 匹配右边有边界的字符 只有this符合

      模式修正符:

            i 不区分大小写

             m将字符串视为多行

             s如果设定了,.将匹配任意字符包括换行符

             x模式中的空白负略不计

             U反转了匹配数量的值,使其不是默认的重复,除非加上了?才会重复,也可以在数量符后加一个?使其不重复,如.*?,{n}?,此修正符可能是PHP独有。

例子:如匹配abcdefgabcdefgabcde

         /a.*e/将会匹配整个字符串,/a.*?e/和/a.*e/U将会匹配abcde,

        /Web Server/x将会负略空格符也可以匹配出WebServer.

        /^is/m  会匹配出 this\nis test中的is test

 

常见匹配规则:

         email:

                 /\w+([-+.]\w)*@\w+([-.]\w)*\.\w+([-.]\w)*/

             URL:/^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/

         中文:/^[\u4E00-\u9FA5\uF900-\uFA2D]+$/

         ASCII字符串:^[\x00-\xFF]+$

         IP:/(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d\.25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d\.25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)*/

 

PHP正则:

标签:

原文地址:http://www.cnblogs.com/phplhs/p/5503808.html

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