正则表达式
基础匹配符号
.:匹配除了新行以外的任何单个字符。^:匹配字符串的开始。$:匹配字符串的结束。*:匹配前面的子表达式零次或多次。+:匹配前面的子表达式一次或多次。?:匹配前面的子表达式零次或一次。{n}:匹配确定的n次。{n,}:至少匹配n次。{n,m}:最少匹配n次且不超过m次。
字符类
[abc]:匹配任何一个包含在括号中的字符(相当于a或b或c)。[^abc]:匹配任何不在括号中的字符。[0-9]:匹配任何数字。类似于\d。[a-z]:匹配任何小写字母。[A-Z]:匹配任何大写字母。[a-zA-Z0-9]:匹配任何字母和数字。
预定义字符类
\d:匹配一个数字字符。等价于[0-9]。\D:匹配一个非数字字符。等价于[^0-9]。\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。\S:匹配任何非空白字符。等价于[^ \f\n\r\t\v]。\w:匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_]。\W:匹配任何非单词字符。等价于[^A-Za-z0-9_]。
断言
(?=...):正向肯定预查,之后的内容需要匹配指定的模式。(?!...):正向否定预查,之后的内容不需要匹配指定的模式。(?<=...):反向肯定预查,之前的内容需要匹配指定的模式。(?<!...):反向否定预查,之前的内容不需要匹配指定的模式。
分组与逻辑
(pattern):匹配pattern并获取这一匹配。|:逻辑“或”操作符。匹配左边或者右边的表达式。
转义字符
\:用于转义特殊字符,使之成为字面意义上的字符,如\.表示一个真正的点。
查看16道真题和解析