正则表达式.+可以匹配空格,但是[.\w]+却不匹配,为什么?

>>>import re
...print(re.match(r'[.\w]', ' ')) # 匹配单空格
...print(re.match(r'.', ' '))
...print(re.match(r'(.|\w)', ' '))
...
None
<re.Match object; span=(0, 1), match=' '>
<re.Match object; span=(0, 1), match=' '>

[\w.]应匹配\w或.。为什么[\w.]无法捕获空格?

在正则表达式中.表示除换行外的所有字符,所以.+可以匹配空格
[]中括号表示字符集,在中括号中".*?+"等特殊字符就表示其自身,所以[.\w]就表示小数点字符加上\w表示的字符组成的字符集,并不包括空格
温馨提示:答案为网友推荐,仅供参考
相似回答