基本语法
^ 匹配开头
$ 匹配结尾
. 任意字符
? 匹配0次或1次
* 匹配0次及以上
+ 匹配1次及以上
\ 转义
| 或
( ) 子表达式 保存结果
(?:x) 匹配x但不保存结果
x(?=y) 匹配x后有y的x
(?<=y)x 匹配x前有y的x
x(?!y) 匹配x后无y的x
(?<!y)x 匹配x前无y的x
[ ] 单字匹配 类似集合
[^x] 不包含x的单字匹配
{ } 匹配次数 使用闭区间
\s 匹配空白字符
\S 匹配非空白字符
\d 匹配数字 == [0-9]
\D == [^0-9]
\w 匹配单字 == [0-9A-Za-z_]
\W == [^0-9A-Za-z_]
\b 匹配词边界
\B 匹配非词边界
\r 匹配回车符
\n 匹配换行符
\1 复述第1个子表达式
$1 取第1个子表达式的结果
常用表达式
^\s*(?=\r?$)\n 查找空行
\.php$ 匹配 php 文件
^/(.*)$ 匹配字符串开头 / 后的所有字符,用 $1 来获取子表达式结果