| 表达式 | 说明 |
|---|---|
| \f | 匹配换页符 |
| \n | 匹配换行符 |
| \r | 匹配回车符 |
| \t | 匹配制表符 |
| \v | 匹配垂直制表符 |
| \w | (常用)匹配字母、数字、下划线 |
| \W | (常用)匹配除字母、数字、下划线 |
| \d | (常用)匹配十进制数字 |
| \D | 匹配除十进制数字 |
| \s | 匹配空白字符 |
| \S | 匹配除空白字符 |
| \b | 匹配单词边届 |
| \B | 匹配非单词边界 |
| [ab89x] | 原子表,匹配ab89x中的任意一个 |
| [^ab89x] | 原子表,匹配除ab89x以外的任意一个字符 |
| \ | 转义符 |
| . | (常用)匹配除换行外任意一个字符 |
| ^ | 匹配开始位置 |
| $ | 匹配结束位置 |
| * | (常用)前一个字符出现0\1\多次 |
| ? | (常用)前一个字符出现0\1次 |
| + | (常用)前一个字符出现1\多次 |
| {n} | 前一个字符恰好出现n次 |
| {n,} | 前一个字符至少n次 |
| {n,m} | 前一个字符至少n,至多m次 |
| | | 模式选择符或: a|b 表示可以匹配a或者b字符 |
| (pattern) | (常用)分组模式,匹配pattern表达式的内容,并单独获取 |
| (?:pattern) | (常用)分组模式,匹配pattern表达式的内容,不单独获取,经与 | 搭配使用 |
| (?=pattern) | (常用)非捕获组模式,一般用在以匹配pattern表达式的字符为结尾 |
| (?!pattern) | (常用)非捕获组模式,一般用在不以匹配pattern表达式的字符为结尾 |
| (?<=pattern) | (常用)非捕获组模式,一般用在以匹配pattern表达式字符为开头 |
| (?<!pattern) | (常用)非捕获组模式,一般用在不以匹配pattern表达式字符为开头 |
模式
- 贪婪模式:尽可能多地匹配(默认)
- 懒惰模式:尽可能少地匹配,精准模式
默认贪婪模式,如果出现如下组合,则代表为懒惰模式:
*?
+?