首页 > 解决方案 > python中的r'.*'和'[.*]'正则表达式有什么区别?

问题描述

认为,a = 'I was born in 1997'

而且我想打印使用正则表达式中存在的所有内容(仅用于学习目的。

所以当我使用:re.match(r'.*', a)

然后它将匹配显示为:<_sre.SRE_Match object; span=(0, 18), match='I was born in 1997'>

但是当我使用:re.match(r'[.*]', a)

我没有得到任何输出,即没有找到匹配项。

标签: regexpython-3.x

解决方案


.是正则表达式中的特殊字符,表示匹配除换行符以外的任何内容。但是当您在[]字符类中使用时,它会变成普通字符 .

*是一个量词,表示零个或多个时间。但是当您在字符类中使用时,它会变成普通字符*

  • .* ---> 表示匹配除新行之外的任何内容。

  • [.*]---> 表示匹配.*

进一步阅读

字符类


推荐阅读