. 默认匹配除\n之外的任意一个字符
\s 匹配空白字符、\t、\n、\r
(.\s) 表示第一个分组,也可以用 \1 表示
\1+ 表示第一个分组重复1次或多次
在示例 re.sub( '(.\s)\\1+','\\1','a a a a a bb' ) 中,.\s 表示 "a ",\\1+ 第一个\是转义的作用,表示 "a " 重复1次或者多次,(.\s)\\1+则可以匹配到"a a a a a ",然后把匹配到的字符串替换成"a "
因此,最后的结果是 "a bb"