首页 > 代码库 > PHP正则表达式
PHP正则表达式
1. 什么是正则表达式
正则表达式就是一种描述字符串结构的语法规则
2. 为什么需要正则表达式?
因为需要对用户提交的信息进行验证,如果不验证的话,有可能用户提交的就是垃圾信息
3. PHP里面的正则表达式函数库
在PHP里面支持2套正则表达式函数库,一套是POSIX,另外一套是PCRE。比起POSIX,现在更多的是使用PCRE这一套正则表达式函数。原因有两个:PCRE函数库的兼容性更好,并且效率高。
我们的正则表达式如果不配合正则表达式函数的话,它就只是一个普通的字符串。所以正则表达式一定要配合正则表达式函数来使用
4. 正则表达式语法
任何一个正则表达式的组成无外乎由4个部分组成 ① 定界符 ② 原子 ③ 元字符 ④ 模式修正符
① 定界符
我们所写的正则表达式都需要放在定界符里面。一般常见的定界符为两个斜杠//
① 原子
原子是正则表达式里面最基本的组成单位。换句话说,一个正则表达式里面,可以没有元字符,可以没有模式修饰符,但是不能没有原子。
原子大致可以分为5大类
1) 普通字符作为原子
所谓普通字符,就是大小写字母,数字等字符
例如:
“/5/” 用于匹配字符串中是否有5这个字符出现
“/php/” 用于匹配字符串中是否有php这个字符串出现
1) 特殊字符作为原子
在正则表达式里面,有一些字符是有特殊含义,例如* +?.
如果我们就只想匹配普通的*+?. 的话,必须转义。转义字符是一个反斜杠\
1) 非打印字符作为原子
所谓非打印字符,就是字符串中的控制符号,例如:空格,回车,制表符(Tab)
原子字符 |
含义描述 |
\n |
表示换行 |
\t |
表示的是制表符 |
\r |
表示回车 |
2) 使用通用型字符作为原子
所谓通用型字符,就是指一个原子可以匹配多个字符。
\d:匹配任意一个十进制数字0-9
\D:匹配任意一个除了十进制以外的字符
\s:匹配任意一个非打印字符
\S:除了非打印字符以外的字符可以被匹配上
\w:匹配字母数字和下划线
\W:匹配除了数字,字母下划线以外字符
3) 自定义原子表作为原子
自定义原子表通过一对[ ]
PHP正则表达式