PHP中正则表达式

时间:2022-12-03 18:00:38

PHP支持两种风格的正则表达式语法:POSIX和Perl,这两种风格的正则表达式是PHP编译时的默认风格。在PHP 5.3版本中,Perl不能被禁用。然而,这里来介绍一下更简单的POSIX风格。它更易掌握,但是不是二进制安全的。

1. 基础知识

正则表达式:一种描述一段文本模式的方法。

2. 字符集和类

.  :代替除换行符('\n')外的任一个字符,通配符。

[ ] :字符类,只匹配一个字符。

^ : 在方括号里面时,表示否。

3. 重复

* :表示这个模式出现0次或多次。

+ :表示这个模式出现1次或多次。

4. 子表达式

使用圆括号( )实现。

5. 子表达式计数

花括号{ }中的数字表达式指定内容允许重复的次数。

{a}:a次

{a, b}:a-b次

{a, }:至少a次

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

^ :用于正则表达式的开始

$ :用于正则表达式的末尾

7. 分支

| :表示选择(‘或’的意思)

8. 特殊字符

\ :转义字符

9. 用正则表达式查找字符串

int ereg("正则表达式", "字符串" [, 存储数组]);

int  eregi( )除了不区分大小写,其他功能和ereg( )一样

10. 用正则表达式替换字符串

string ereg_replace("正则表达式", "替换字符串", "字符串");

string eregi_replace( )除了不区分大小写,其他功能和ereg_replace( )一样

11. 用正则表达式分割字符串

array split("正则表达式", "字符串" [, 指定进入数组中的元素个数]);

如:

$address = 'username@example.com';

$arr = split("\.|@", $address);

while(list($key, $value),each($arr)){

echo "<br/>".$value;

}

结果输出:

username

example

com