• PHP正则:


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

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

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

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

       元子符:

               *零次,一次或是多次

                +一次或多次

               ?零次或是一次

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

                |分支选择

                 {N},{n,m}

                 ^或是A匹配开头

                 $或是匹配结尾

                匹配单词边界

                 B不匹配单词边界

                []

                [^]

                ()

              例子:

                    匹配this is test

                    边界限制:

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

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

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

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

          模式修正符:

                i 不区分大小写

                 m将字符串视为多行

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

                 x模式中的空白负略不计

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

    例子:如匹配abcdefgabcdefgabcde

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

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

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

    常见匹配规则:

             email:

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

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

             中文:/^[u4E00-u9FA5uF900-uFA2D]+$/

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

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

  • 相关阅读:
    NOIP 2012 文化之旅
    史上最全的各种C++ STL容器全解析
    详解C++ STL map 容器
    详解C++ STL priority_queue 容器
    浅谈C++ STL stack 容器
    浅谈C++ STL queue 容器
    浅谈C++ STL vector 容器
    CF1185F Two Pizzas
    浅谈C++ STL deque 容器
    详解C++ STL multiset 容器
  • 原文地址:https://www.cnblogs.com/phplhs/p/5503808.html
Copyright © 2020-2023  润新知