基本
| 字符 | 描述 |
|---|---|
| \ | 将下一个字符转义 |
| ^ | 匹配输入字符串的开始位置 |
| $ | 匹配输入字符串的结束位置 |
| . | 匹配除 "\n" 之外的任何单个字符。 |
| | | 或 |
| [abc] | 匹配包含abc的任意一个字符串 |
| [^abc] | 匹配未包含abc的任意字符串 |
| [a-z] [A-Z] [0-9] | 匹配指定范围的字符串 |
| [\u4e00-\u9fa5] | 匹配任意中文 |
限制符 - 匹配次数
表明前面的子表达式需要匹配几次
| 字符 | 描述 |
|---|---|
| * | 匹配零次或多次 |
| + | 匹配一次或多次 |
| ? | 匹配零次或一次 |
| {n} | 匹配n次 |
| {n,} | 至少匹配n次 |
| {n,m} | 至少匹配n次 至多匹配m次 |
| 限制符后跟? | 将匹配模式改为非贪婪 |
子表达式
| 字符 | 描述 | 是否获取 |
|---|---|---|
| (pattern) | 匹配 pattern 通常和 | 连用 | 是 |
| (?:pattern) | 匹配 pattern 通常和 | 连用 | 否 |
| (?=pattern) | 正向预查 在任何匹配 pattern 的开始处查找 | 否 |
| (?<=pattern) | 正向预查 在任何匹配 pattern 的结束处查找 | 否 |
| (?!pattern) | 负向预查 在任何不匹配 pattern 的开始处查找 | 否 |
转义字符
| 字符 | 描述 | 等价于 |
|---|---|---|
| \b | 在单词的边界处匹配之前的字符串 | 无 |
| \B | 在非单词边界处匹配之前的字符串 | 无 |
| \d | 匹配一个数字字符 | [0-9] |
| \D | 匹配一个非数字字符 | [^0-9] |
| \f | 匹配一个换页符 | \x0c 和 \cL |
| \n | 匹配一个换行符 | \x0a 和 \cJ |
| \r | 匹配一个回车符 | \x0d 和 \cM |
| \s | 匹配任何空白字符,包括空格、制表符、换页符等等 | [ \f\n\r\t\v] |
| \S | 匹配任何非空白字符 | [^ \f\n\r\t\v] |
| \t | 匹配一个制表符 | \x09 和 \cI |
| \v | 匹配一个垂直制表符 | \x0b 和 \cK |
| \w | 匹配包括下划线的任何单词字符 | [A-Za-z0-9_] |
| \W | 匹配任何非单词字符 | [^A-Za-z0-9_] |