我有一个包含多行文本的String Alltext
aaaaa
D0
aaaaa
text0...........
aaaaa
D1
aaaaa
text 1 ..........
aaaaa
D2
aaaaa
text 2
我想保留文本部分,即text0 ....,text1,text2 ....并删除指标
aaaaa
D0
aaaaa,
aaaaa
D1
aaaaa
等。这些表示下一个文本段。我试过这个正则表达式
re.sub("[a]* \sD[0-9]*\\s[a] * ", " ",Alltext)
但这只是删除D0,D1而不是aaaa 我得到的输出
aaaaa
aaaaa
text0
aaaaa
aaaaa
text1
如何删除这些aaaaa
答案 0 :(得分:1)
你不需要在角色类中放置一个角色,也不需要双重逃避\s
a*\s*D[0-9]*\s*a*\s*
Python代码将是,
>>> import re
>>> s = """aaaaa
D0
aaaaa
text0...........
aaaaa
D1
aaaaa
text 1 ..........
aaaaa
D2
aaaaa
text 2 """
>>> m = re.sub(r'a*\s*D[0-9]*\s*a*\s*', r'', s)
>>> m
'text0...........\n\n\ntext 1 ..........\n\n\ntext 2 '
>>> print m
text0...........
text 1 ..........
text 2
答案 1 :(得分:1)
print re.findall(r"^text.*$",x,re.M)
Simle findall也应该这样做。