正则表达式的基本语法

/*正则表达式:元字符和文本字符组成,

 *1:“^”表示行的开始,“$”表示行的末尾 ^tm tm$

 *2:单词界定符 (\b,\B) \btm\b:表示是一个完整的单词  \Btm\B :匹配的字符串不能是个完整的单词,而是一个单词或者字符串的一部分

 *\Btm\B

 /

  * 6.2.3字符类([])

  * 正则表达式是区分大小写的,若要忽略大小写可使用方括号来表示

  * 只要匹配的字符串出现在方括号内,即可表示匹配成功,一个方括号只能匹配一个字符

  * [Tt][Mm]

  * [:digit:] 十进制数字集合,等同于[0-9];

  * [[:alnum:]] 字母和数字的集合,等同于[a-z A-Z 0-9]

  * [[:alpha:]] 字母集合,等同于[a-z A-Z]

  * [[:blank:]] 空格和制表符

  * [[:xdigit]] 十六进制数字

  * [[:punct:]] 特殊字符集合,包括键盘上的所有特殊字符,如!@#¥?等

  * [[:print:]] 所有的可打印字符(包括空白字符)

  * [[:graph:]] 所有的可打印字符(不包括空白字符)

  * [[:space:]] 空白字符(空格、换行符、换页符、回车符、水平制表符)

  * [[:upper:]] 所有大写字母[A-Z]

  * [[:lower:]] 所有小写字母[a-z]

  * [[:cntrl:]] 控制字符

  */

  

/*6.2.4 选择字符(|)

 * T|t M|m :T或t开头 后面接一个字母M或m

 */

  

/*6.2.5 连字符(_)-----表示字符的范围

 */

 

/*6.2.6 排除字符([^])

 * [^a-zA-Z] :匹配的是不以字母和下划线开头的变量名

 */

 

/*6.2.7限定符 (? *+{n,m})----重复出现字母或字符串

 * ?:匹配前面的字符零次或一次 colou?r 可以匹配color或者colour

 * +:匹配前面的字符出现一次或多次 go+gle :匹配的范围从ggle 搭配goo....gle

 * * :匹配前面的字符零次或多次出现 go*gle :匹配的范围从ggle 搭配goo....gle

 * {n}:匹配前面的字符n次 go{2}gle :只匹配gogle

 * {n,}:匹配前面的字符最少N次    go{n,}gle: 匹配的范围从google 搭配goo....gle

 * {n,m}:匹配前面的字符最少n次,最多M次 employe{0,2} 匹配employ,employe,employee

 */

 

/*6.2.8点号字符  (.)匹配换行符以外的任意一个字符

 * ^t.s$ 匹配以t开头以s结尾的任意一个字符串

 */

 

/*6.2.9 转义字符(\) :将特殊字符转换成普通字符

 */

 

/*6.2.10 反斜线(\)

 * \a :警报 ASCII 中的字符

 * \b :退格 ASCII 中的 字符 在PHP这中只有[]表示退格

 * \e :Escape ASCII中字符 

 * \f :换页符 ASCII中字符

 * \n :换行符 ASCII 中字符

 * \r :回车符 ACII中字符

 * \t :水平制表符 ASCII 中字符

 * \xhh :十六进制代码

 * \ddd :八进制代码

 * \cx :即control-x缩写,匹配由X指明的控制字符,其中X是任意字符

 * \d :任意一个十进制数字,相当于[0-9]

 * \D :任意一个非十进制数字

 * \s :任意一个空白字符

 * \S :任意一个非空白字符

 * \w :任意一个单词字符,相当于[a-z A-Z 0-9]

 * \W :任意一个非单词字符

 * 

 * \b :单词界定符 用来匹配字符串的某些位置 \b是以统一的界定符来匹配

 * \B :非单词定界符序列

 * \A :总是能够匹配特搜索文本的其实位置

 * \Z :表示在未指定任何模式下匹配的字符,通常是在字符串的末尾位置或者字符串末尾的换行符之前的位置

 * \z :只匹配字符串的末尾,而不考虑任何换行符

 * \G :当前匹配的起始位置

 */

 


/*6.2.11 括号字符(())

 * 作用1:改变限定符的作用范围

 * 作用2:分组,也就是子表达式(\.[0-9]{1,3}){3} 对分组(\.[0-9]{1,3}){3}进行重复操作

 */

 

/*6.2.12 反向引用 :依靠子表达式的“记忆”功能来匹配连续出现的字符串 

 */

 

/*6.2.13 模式修饰符 :设定模式 规定正则表达式应该如何解释和应用

 * PHP的主要模式修饰符

 * i :(?i)...(?-i)、(?i:...) 忽略大小写模式

 * m :(?m)...(?-m)、(?m:...) 多文本模式,即字符串内部有多个换行符时,影响“^”和“$”的匹配

 * s :(?s)...(?-s)、(?s:...) 单文本模式,在此模式下,元字符(.)可以匹配换行符,其他模式下不可以

 * x :(?x)...(?-x)、(?x:...) 忽略空白字符

 */

你可能感兴趣的:(PHP)