可以用字符作为一个通配符来代替除换行符(\n)之外的任一个字符。例如,正则表达式:
.at
可以与"cat"、"sat"、"#at"和"mat"等进行匹配。主要是用于在搜索文件时

也可以指定一个字符集:
[a-z]at
在方括号([])中的内容都是一个字符类--- 一个被匹配字符所属的字符集合。但是只匹配其中的一个字符。

同时我们也可以给出一个集合。
[aeiou]
可以用来表示元音字母。

也可以用来表示一个范围。也可以是一个范围集:
[a-zA-Z]
这个范围集代表任何的大小字母。

此外,还可以用集合来指明字符不属于某个集。例如:
[^a-z]
可以用来匹配任何不在a和z之间的字符。当把脱胎换骨字符号(^)包括在方括号里面时,表示否。

重复次数
"*"表示这个模式可以被重复0次或更多次,符号"+"则表示这个模式可以被重复1次或更多次。

[[:alnum:]]+
表示至少有一个字母。

子表达式
(very)*large
可以匹配 very large 、 large 、very very large 等。

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

({2,4}表示重复2~4次),或是一个开底的重复范围({2,}表示至少要重复2次).
例如:
(very){1,3}
表示匹配"very"、"very very"、"very very very"。

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

须出现在字符串的末尾。

例,以下是在字符串开始处匹配bob:
^bob

这个模式将匹配com出现在字符串末尾处的字符串:
com$

最后,这个模式将匹配只包含a到z之间一个字符的字符串:
^[a-z]$

分支

可以使用正则表达式中的一条竖线来表示一个选择。例如,如果要匹配com、edu或net,就可以使用如下所示的表达示:
com|edu|net

匹配特殊字符

如果要匹配特殊字符,例如,.、{或者$,就必须在它们前面加一个反斜杠(\)。如果要匹配一个反斜杠,则必须用两个反斜杠(\\)来表示.

在PHP中,必须将正则表达式模式包括在一个单引号字符串中.

在POSIX正则表达式中,用于方括号外面特殊字符的摘要
字符 意义 字符 意义
\ 转意字符 ) 子模式的结束
^ 在字符串开始匹配 * 重复0次或更多次
$ 在字符串末尾匹配 + 重复1次或更多次
. 匹配除换行符(\n)之外的字符 { 最小/最大量记号的开始
| 选择分支的开始(或) } 最小/最大量记号的结束
( 子模式的开始 ? 标记一个子模式为可选的

在POSIX正则表达式中,用于方括号里面的特殊字符

字符 意义
\ 转意字符
^ 非,仅用在开始位置
- 用于指明字符范围

09-17 10:50