语法 | 说明 | 表达式实例 | 完整匹配字符串 |
---|---|---|---|
. | 匹配任意除’\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!
评论