| 语法 | 说明 | 表达式实例 | 完整匹配字符串 |
|---|---|---|---|
| . | 匹配任意除’\n’外的字符 | a.c | abc |
| \ | 转义字符 | ||
| 预定义字符集 | |||
| \d | 数字[0-9] | a\dc | a1c |
| \D | 非数字[^\d] | a\dc | abc |
| \s | 空白字符[<空格>\t\r\n\f\v] | a\sc | a c |
| \S | 非空白字符[^\s] | a\Sc | abc |
| \w | 单词字符[A-Za-z0-9] | a\wc | abc |
| \W | 非单词字符[^\w] | a\Wc | a c |
| 数量词(用在字符或(…)之后) | |||
| * | 匹配前一个字符 0 次或无限次 | agv* | ag 或者 agvvvvvv |
| + | 匹配前一个字符 1 次或无限次 | agv* | agv 或者 agvvvvvv |
| ? | 匹配前一个字符 0 次或 1 次 | agv* | ag 或者 agv |
| {m} | 匹配前一个字符 m 次 | ag{2}v | aggv |
| {m,n} | 匹配前一个字符 m 次至 n 次。mn 可以省略,若省略 m,则匹配 0 至 n 次;若省略 n,则匹配 m 至无限次 | ag{1,2}v | agv 或者 aggv |
| 边界匹配(不消耗待匹配字符串中的字符) | |||
| ^ | 匹配字符串开头。在多行模式中匹配每一行开头 | ^abc | abc |
| $ | 匹配字符串末尾。在多行模式中匹配每一行末尾 | abc$ | abc |
| \A | 匹配字符串开头。 | \Aabc | abc |
| \Z | 匹配字符串末尾 | abc\Z | abc |
| \b | 匹配\w 和\W 之间 | a\bac | a!!ac |
| \B | [^\b] | a\Bbc | abc |
| 逻辑、分组 | |||
| 竖线 | 左右表达式任意匹配一个 | abc’竖线’def | abc 或 def |
| (…) | 分组 | (abc){2} | abcabc |
| (?P<name>…) | 分组。指定别名 | (?P |
abcabc |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 fanhua blog!
评论





