如何在不使用DOTALL的情况下匹配任意内容?
我需要一个正则表达式,它既能使用默认的点号(这个点号是不会匹配换行符的),又能使用re.DOTALL
的点号(这个点号可以匹配换行符)。在我的正则表达式中,我需要多个默认的点号和仅仅一个可以匹配换行符的点号。不过,因为我需要一个点号来匹配换行符,所以我不得不使用DOTALL
,同时还得多次使用[^\n]
来实现默认的“匹配任何不是换行符的东西”的效果。
我想去掉DOTALL
,把那些[^\n]
替换成.
,并且在我需要的地方用一种更复杂的方式来匹配“包括换行符的任何东西”。
所以我的问题是:在不使用DOTALL
的情况下,怎样写正则表达式才能匹配“包括换行符的任何东西”?
2 个回答
7
5
我总是使用 r"[\s\S]"
这个表达式,它可以匹配所有的空白字符和非空白字符,也就是说,所有的东西都能匹配上。