PHP正则:

Posted 木子牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP正则:相关的知识,希望对你有一定的参考价值。

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

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

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

     一些规定的简易化特殊字符:\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正则:的主要内容,如果未能解决你的问题,请参考以下文章

php如何正则替换css中的图片路径?

php 正则表达式

php中文正则匹配

php正则问题如何取文本中间内容?

php正则匹配图片路径

php 正则表达式 url匹配