您当前位置: 南顺网络>> 官方资讯>> 建站知识

php基础知识之正则篇

正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字串。

1、正则表达式语法规则

     1、行定位符(^和$)

          "^" 表示行的开始;"$" 表示行的结尾。

          ^tm 匹配tm开头,tm$ 匹配tm结尾(也可以写成tm)。

     2、单词定界符(\b、\B)

          \btm\b 能够匹配查找一个完整的单词。

     3、字符类([])

          正则表达式是区分大小写的,如果忽略大小写可使用方括号表达式"[]"。只要匹配的字符出现在方括号内,即可表示匹配成功。tip:一个方括号只能匹配一个字符。要匹配不区分大小写,那么表达式应该写作如下格式:

           [Tt][Mm]

     4、选择字符(|)

          (|)该字符可以理解为“或”

     5、连字符(-)

          [a-zA-Z]  从a到z、A-Z

     6、排除字符([ ^])

          [^a-zA-Z] 放在括号里,该表达式匹配的就是不以字母和下划线开头的变量名。

     7、限定符(? * + {n,m})

          限定符各自代表的意思:

               ?    匹配前面的字符零次或一次     colou?r 该表达式可以匹配colour和color

               +     匹配前面的字符一次或多次    go+gle,该表达式可以匹配的范围从gogle到goo....gle

                *    匹配前面的字符零次或多次    go*gle,该表达式可以匹配从ggle到goo...gle

               {n}   匹配前面的字符n次                go{2}gle,该表达式只匹配google

               {n,}  匹配前面的字符最少n次        go{n,}gle,该表达式的范围从google到goo...gle

               {n,m} 匹配前面的字符最少n次,最多m次  employe{0,2},该表达式可以匹配employ,employe和employee 3中情况

      8、点号字符(.)

              ^s.t$

               匹配的单词包括:sat、set、sit等。

     9、转义字符(\)

          用正则表达式匹配127.0.0.1这样格式的IP地址

          [0-9]{1,3}(.[0-9]{1,3}){3}   error 应为"."可以匹配一个任意字符

          [0-9]{1,3}(\.[0-9]{1,3}){3}

     10、反斜线(\)

          \a warning 

          \b 退格

          \e Escape

          \f  换页符

          \n 换行符

          \f  回车符

          \t 水平制表符

     11、括号字符(())

          小括号字符的第一个作用就是可以改变限定符的作用范围,如"|"、“*”、"^"

          小括号的第二个作用是分组,也就是子表达式。如(\.[0-9]{1,3}){3},就是对分组(\.[0-9]{1,3})进行重复操作。


编辑:--ns868