Python正则使用时[.\n]和[\s\S]的区别
当使用re
模块匹配正则的时候,突然发现想匹配带有换行的内容时,匹配结果为None
:
mystring = """
<ul>
adsd
</ul>
"""
my_re =r"\n<ul>[.\n]*</ul"
print( re.match(my_re, mystring))
原因**是使用 [.\n]
并不表示所有字符,而是[]
把里面的.
当成普通字符了,并不匹配所有字符**。
结论:
- 使用
[\s\S]
来表示所有字符 - 使用
(.|\s)
来表示所有字符