首页 > 代码库 > PHP正则表达式

PHP正则表达式

1.定界符:

  //

2.原子:

  普通字符作为原子:

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

  非打印字符:

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

    2.\f  : 匹配一个换页符

    3.\n :匹配一个换行符

    4.\r: 匹配一个回车符

    5.\t: 匹配一个制表符

    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.$或\Z 匹配字符串结尾位置  /one$/ 这个字符串必须以one结尾 /^one$/ 匹配one字符串  /^one.*$/ 以one开头以one结尾

    11.\b匹配单词边界

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

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

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

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

    

    使用元字符:

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

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

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

      /a\W?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结尾的字符串

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

      /\Bis\b/----------------查找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:  在模式匹配时不区分大小写

    

PHP正则表达式