PHP 基础知识总结四(正则表达式)
》》》了解正则表达式的发展及相关概念
》》》了解PHP中的POSIX函数
》》》了解PHP中的PCRE函数
》》》掌握正则表达式的应用
正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字串。
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})进行重复操作。
有关正则规则限制的具体例子:如手机号,邮箱等
请关注:http://blog.csdn.net/chajinglong/article/details/51037534
如果有更加好玩的正则,欢迎评论。