我试图找到一个正则表达式,以捕获所有包含至少一个\n
和任意数量的(空格)的实例,而不管其顺序如何。因此,例如(用
_
表示空格),所有这些都应由regexp捕获:
\n
\n\n\n\n
\n\n\n_\n\n
_\n
\n_
_\n_
_\n\n
\n\n_
_\n\n_
_\n\n_\n
\n_\n_
_\n\n_\n_
___\n__\n and so on...
但是,它不能捕获不与\n
相邻的空格。
换句话说,我想将所有这些(如果我没有记错的话)减少到一行:
import re
mystring = re.sub(r'(\n)+' , '\n' , mystring)
mystring = re.sub(r'( )+' , ' ' , mystring)
mystring = re.sub(r'\n ' , '\n' , mystring)
mystring = re.sub(r' \n' , '\n' , mystring)
mystring = re.sub(r'(\n)+' , '\n' , mystring)
mystring = re.sub(r'(\n)+' , ' | ' , mystring)
您可以使用以下正则表达式:
((_)*\n+(_)*)+