? 0个或1个,等于{0,1}
* 0个或多个,等于{0,}
+ 1个或多个,等于{1,}
{n} 精准匹配n次
{n,} 至少出现n次
{n,m} 至少出现n次,最对出现m次
^ 开始
$ 结束
| 两项之间选择
[acb] 匹配所有acb
[^abc] 匹配除了abc
. 匹配除了\n\r,等于[^\n\r]
\b 匹配一个单词边界,即字与空格间的位置。
\B 非单词边界匹配。
\d 数字
\D 非数字
\s 所有空白符、换行
\S 除了空白符、换行
\w 字符,等于[A-Za-B0-9_]
\W 非字符
\f 换页
\n 换行
\r 回车
\t 制表符
\v 垂直制表符
() 子表达式,分组
[] 中表达式
{} 限定符表达式

特殊字符 要匹配本身需要在前面加\
& * + . ? ^ \ | ( ) [ ] { }

限定符
* + ? {n} {n,} {n,m}

选择
exp1(?=exp2) 查询exp2前面的exp1
(?<=exp2)exp1 查询exp2后面的exp1 
exp1(?!exp2) 查询非exp2前面的exp1
(?<!exp2)exp1 查询非exp2后面的exp1 

修饰符 放在结尾,可同时使用
i 不区分大小写
g 全局匹配
m 多行匹配
s 特殊字符.包含换行符

标签: php, 正则表达式

添加新评论