现在的位置: 首页 > 综合 > 正文

PHP正则表达式

2012年10月24日 ⁄ 综合 ⁄ 共 1090字 ⁄ 字号 评论关闭
文章目录

1、正则表达式简介

1.1字符集和类

字符集可以用于匹配属于特定类型的任何字符;事实上它们是一种通配符。

首先,可以用字符作为一个通配符来代替换行符(\n)之外的任一个字符。

任何包含在方括号中的内容都是一个字符类——一个被匹配字符所属的字符集合。注意:方括号中的表达式只匹配一个字符。在方括号中我们可以列出一个集合,也可以描述一个范围,还可以用集合来指明字符不属于某个集。

1.2重复

符号“*”表示这个模式可以被重复0次或更多次,符号“+”则表示这个模式可以被重复1次或更多次。这两个符号应该放在要作用的表达式的后面。

1.3子表达式

通常将一个表达式分隔为几个子表达式是非常有用的。

1.4子表达式计数

可以用在花括号({})中的数字表达式来指定内容允许重复的次数。可以指定一个确切的重复次数,或者一个重复次数的范围,或是一个开底域的重复范围。

1.5定位到字符串的开始或末尾

脱字符号(^)用于正则表达式的开始,表示子字符串必须出现在被搜索字符串的开始处,字符“$”用于正则表达式的末尾,表示子字符串必须出现在字符串的末尾。

1.6分支

可以使用正则表达式中的一条竖线来表示一个选择。

1.7匹配特殊字符

如果要匹配特殊字符,如$等,需要在他们前面加一个反斜杠。

2、用正则表达式查找子字符串

在PHP中,可以使用的并且用于匹配POSIX风格正则表达式的两个函数是ereg()和eregi()。

ereg()函数原型如下所示:

int ereg(string pattern, string search, array [matches]);

该函数搜索字符串search,在pattern中寻找与正则表达式相匹配的字符串。如果发现了与pattern的子表达式相匹配的字符串,这些字符串将会存储在数组matches中,每个数组元素对应一个子表达式。

函数eregi()除了不区分大小写之外,其他功能与ereg()一样。

3、用正则表达式替换子字符串

函数ereg_replace()原型如下:

string ereg_replace(string pattern, string replacement, string replacement, string search);

函数eregi_replace()除了不区分大小写外,其他与ereg_replace()相同。

4、使用正则表达式分割字符串

使用正则表达式分解字符串

array split(string pattern, string search [, int max]);

这个函数将字符串search分割成符合正则表达式模式的子字符串,然后将子字符串返回到一个数组中。整数max指定进入数组中的元素个数。

抱歉!评论已关闭.