元字符:不能单独使用,用于修饰原子,放在原子后面
. === [^\r\n]: 表示单个字符,除换行和行结束符
非打印字符:
\f: 匹配一个换页符,等价 \x0c或\cL
\n: 匹配一个换行符,等价 \x0a或\cJ
\r: 匹配一个回车符,等价 \x0d或\cM
\t: 匹配一个制表符,等价 \x09或\cI
\v: 匹配一个垂直制表符,等价 \x0b或\cK
\d === [0-9]: 代表“0-9”中任意一个数字,
\D === [^\d]: 代表除“0-9”外的任意字符,
\w === [0-9A-z_]: 代表“a-z A-Z 0-9 _”中任意一个字符,
\W === [^\w]: 代表除“a-z A-Z 0-9 _”之外的任意字符,
\s === [\f\n\r\t\v ]: 代表空白
\S === [^\s]: 代表非空白
* : 前面的原子可以出现0次1次或多次(任意数量) {0,}
+ : 前面的原子可以出现1次或多次,不能没有 {1,}
? : 前面的原子可以出现0次或1次 {0,1}
{m} : 前面的原子只能出现 m 次
{m,} : 前面的原子出现至少 m 次
{m,n} : 前面的原子出现次数只能在 m-n 之间,含m,n
| : 两边的原子只要出现一个即可,优先级最低
^ 或 \A : 表示必须以某某开始,必须写在正则表达式的最前面
$ 或 \Z : 表示必须以某某结束,必须写在正则表达式的最后面
\b : 匹配单词边界 "abc cde def"
\B : 匹配不是单词边界的部分
() : 1.改变优先级;
2.将小原子变成大原子;
3.子模式,整个表达式是一个大模式,小括号内是独立的子模式;
4.反向引用
模式修正符:修正正则表达式的解释,或扩充正则表达式的功能
1.要写在定界符号外,放在右边;
2.一个字符就是一个功能,可以组合使用;
i : 修正正则表达式不区分大小写(默认是区分大小写的)。
m : 修正正则表达式可以视为多行,在使用 ^ 或 $ 时,每一行满足即可(默认视为一行)。
s : 修正正则表达式中的 . 可以匹配换行符号(默认是不匹配换行/回车符号的)。
x : 可以省略空白。
U : (.*, .+) 取消贪婪,等价:.*? .+?
preg_match("正则表达式", $str,[$arr]): 匹配查找,存在返回1,否则返回0,$arr是匹配到的内容,返回数组;
preg_match_all("表达式",$str,[$arr],[$mode]):
全局匹配,$str将要匹配的字符串;$arr(array)匹配之后的内容;$mode:PREC_SET_ORDER;
preg_grep("表达式",$array): 从数组中匹配,$array代表一个数组;
preg_split("表达式",$str,[$num]): 正则表达式分割字符串,指定分割后的个数;
preg_replace(): 正则表达式替换;
preg_replace_callback($zhengze,callback,$str)