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

    1.定界符:

      //

    2.原子:

      普通字符作为原子:

        普通字符是编写正则表达式时最常见的原子了,包括所有的大小写字母和数字

      非打印字符:

        1.cx: 匹配由x指明的控制字符:例如:cM匹配一个Control-M或回车符.x的值必须为A~Z或 a-z之一。否则只是一个c字符

        2.f  : 匹配一个换页符

        3. :匹配一个换行符

        4. : 匹配一个回车符

        5. : 匹配一个制表符

        6.v: 匹配一个垂直制表符

      使用通用字符类型作为原子:

        1.d 表示任意一个十进制的数字

        2.D 表示任意一个除了数字之外的字符

        3.s 匹配任意一个空的字符

        4.S 任意一个非空字符

        5.w 任意一个字 [a-zA-Z0-9]

        6.W任意一个非字  除了[a-zA-Z0-9]_

      自定义一个原子表:

        [asdfasdfa]

    3.元字符: 元字符是一种特殊的字符,是用来修饰原子用的,不可以单独出现

        1.*:匹配0次,1次或多次其前的原子

        2.+: 匹配1次或多次其前面的原子

        3.?:匹配1次或0次

        4..:匹配除了换行符以外的所有字符

        5.| 表示或的关系| /a|b/ /cat|dog/  

        6.{n} 表示前面的原子恰好出现n次

        7.{n,}表示其前面的原子不得超过n次

        8.{n,m} 前面的原子出现的次数哦n-m次,包括n-m

        9.^或A  匹配字符串开始位置   /^one/:表示这个字符串必须以one开头 

        10.$或 匹配字符串结尾位置  /one$/ 这个字符串必须以one结尾 /^one$/ 匹配one字符串  /^one.*$/ 以one开头以one结尾

        11.匹配单词边界

        12.B 匹配除单词边界以外的部分

        13.[]匹配方括号中任意一个原子

        14.[^] 匹配方括号中的原子以外的任意字符

        15() 匹配一个整体作为原子,即模式单元。可以理解为由多个单个原子组成的大原子

        

        使用元字符:

        1.限定符:
          限定符用来指定正则表达式的给定原子必须要出现多少次才能满足。有* + ? {n} {n,} {n,m} 共有六种

          /as*b/ ---- -----------a b之间没有空白,有一个或者是多个空白字符  

          /ad+b/----------------a b 之间 有一个或多个数字         如:a2b a232434b等

          /aW?b/----------------a b之间有一个活或没有特殊字符         如:ab a#b a%b

          /ax{4}b/-------------- a b之间有四个x的字符串          如: axxxxb

          /ax{2,}b/--------------a b 之间有2个以上的x字符串        如: axxxb,axxxxxxb

          /ax{2,5}b/-------------a b之间有2个到5个x的字符串         如: axxb   axxxxb

        2.边界符:

          用来限定字符串或单词的边界范围,以获得更准确的匹配结果。

          /^this/-----------------匹配以this开始的字符串

          /this$/-----------------匹配以this结尾的字符串

          /is/----------------字符串中是否含有单词is,,因为在字符串is两边都需要有边界

          /Bis/----------------查找is时左边不能有边界而右边必须有边界          如 "this"匹配成功

        3.句号.

          /a.b/-------------------a b 之间任意字符                                    如:axb  ayb azb 等

        4.模式选择符:

          /cat|dog/  不是cat  就是dog

        5.模式单元:

          模式单元是使用元字符“()” 类似于数学表达式中的()

          /(very)*good/         可以匹配 very good good very very good

        6.后向引用:

          将其分割成一个一个的子表达式,每一个存入临时缓冲区中,可以被获取并使用

          /(very)*good/

    模式修正符:

        在定界符的最后/使用;

        i:  在模式匹配时不区分大小写

        

  • 相关阅读:
    378. Kth Smallest Element in a Sorted Matrix
    295. Find Median from Data Stream
    857. Minimum Cost to Hire K Workers
    373. Find K Pairs with Smallest Sums
    767. Reorganize String
    无序列表
    有序列表
    缩写
    设计者详细信息
    强调
  • 原文地址:https://www.cnblogs.com/subtract/p/3870868.html
Copyright © 2011-2022 走看看