首页 > 代码库 > 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正则表达式