基本
字符 | 描述 |
---|---|
\ | 将下一个字符转义 |
^ | 匹配输入字符串的开始位置 |
$ | 匹配输入字符串的结束位置 |
. | 匹配除 "\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 的开始处查找 |
转义字符
等价于 | ||
---|---|---|
\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_] |