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