11.1. 速查表
1、基本元字符
| 元字符 | 说明 |
|---|---|
| . | 匹配任意单个字符 |
| | | 逻辑或操作符 |
| [] | 匹配该字符集合中的一个字符 |
| [^] | 排除该字符集合 |
| - | 定义一个范围 |
| \ | 对下一个字符转义 |
2、量词元字符
| 元字符 | 说明 |
|---|---|
| * | 匹配前一个字符(子表达式)的 0 次或多次重复 |
| *? | * 的懒惰型版本 |
| + | 匹配前一个字符(子表达式)的 1 次或多次重复 |
| +? | + 的懒惰型版本 |
| ? | 匹配前一个字符(子表达式)的 0 次或 1 次重复 |
| {n} | 匹配前一个字符(子表达式)的 n 次重复 |
| {m,n} | 匹配前一个字符(子表达式)的至少 m 次且至多 n 次重复 |
| {n,} | 匹配前一个字符(子表达式) 的 n 次或者多次重复 |
| {n,}? | {n,} 的懒惰型版本 |
3、位置元字符
| 元字符 | 说明 |
|---|---|
| ^ | 匹配字符串的开头 |
| \A | 匹配字符串的开头 |
| $ | 匹配字符串的结尾 |
| \Z | 匹配字符串的结尾 |
\< |
匹配单词的开头 |
\> |
匹配单词的结尾 |
| \b | 匹配单词边界(开头和结尾) |
| \B | \b 的反义 |
4、匹配模式
| 元字符 | 说明 |
|---|---|
| (?m) | 多行模式 |
5、特殊字符元字符
| 元字符 | 说明 |
|---|---|
| [\b] | 退格字符 |
| \c | 匹配一个控制字符 |
| \d | 匹配任意数字字符 |
| \D | \d 的反义 |
| \f | 换页符 |
| \n | 换行符 |
| \r | 回车符 |
| \s | 匹配任意空白字符 |
| \S | 匹配任意非空白字符 |
| \t | 制符表 |
| \v | 垂直制符表 |
| \w | 匹配任意字母数字下划线 |
| \W | \w 的反义 |
| \x | 匹配一个 16 进制数字 |
| \0 | 匹配一个8进制数字 |
6、反向引用和环视
| 元字符 | 说明 |
|---|---|
| () | 定义一个子表达式 |
| \1 | 匹配第一个子表达式;\2匹配第2个子表达式,以此类推 |
| ?= | 肯定式向前查看 |
| ?<= | 肯定式向后查看 |
| ?! | 否定式向前查看 |
| ?<! | 否定式向后查看 |
| ?() | 条件(if then) |
| ?()! | 条件(if then else) |
7、大小写转换
| 元字符 | 说明 |
|---|---|
| \E | 结束 \L 或 \U 转换 |
| \l | 把下一个字符转换为小写 |
| \L | 把后面的字符转换为小写,直到遇见\E为止 |
| \u | 把下一个字符转换为大写 |
| \U | 把后面的字符转换为大写,直到遇见\E为止 |
PHP 正则表达式
关于 LearnKu
推荐文章: