========================原子==================================
\d 表示一个十进制数字
\D 表示一个非十进制数字
\s 表示一个空白字符[\n\t\r\f]
\S 表示一个非空白字符
\w 表示一个数字、英文或者下划线字符[a-zA-Z0-9_]
\W 表示一个非数字、英文或者下划线字符[^a-zA-Z0-9_]
[] 表示一个自定义原子
. 表示一个除换行符外的任意字符
========================元字符================================
{} 表示前一个原子出现的次数,{2,3}表示出现2~3次
* 表示前一个原子可以出现0次或以上
+ 表示前一个原子可以出现1次或以上
? 表示前一个原子可以出现0次或1次
^ 表示必须以这个表达式开始/或者表示非
$ 表示必须以这个表达式结束
| 表示逻辑或
\b 表示边界
\B 表示非边界
?: 取消子模式
\1 表示取第一个子模式
${1}表示区第一个子模式
() 表示:
1.大原子
2.优先级
3.子模式
4.反向引用(用匹配的子模式结果\1再次匹配)
========================模式修正符============================
i 表示模式匹配不区分大小写
m 表示将字符串视为多行
s 此模式下"."可以表示换行符号,将字符串视为单行,将\n视为普通字符
x 表示模式空白可以忽略不计
e 表示在使用preg_replace替换字符串的函数中才能使用
A 表示必须以这个表达式开始
Z 表示必须以这个表达式结束
U 取消贪婪模式但是和.*?使用会变为贪婪模式
.*? 取消贪婪模式但是和U使用会变为贪婪模式