/*正则表达式:元字符和文本字符组成,
*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 中的
* \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:...) 忽略空白字符
*/