当与跨多行的文本进行匹配时,使用 Python 正则表达式有一点麻烦。示例文本是(‘ n’是换行符)
some Varying TEXT\n
\n
DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n
[more of the above, ending with a newline]\n
[yep, there is a variable number of lines here]\n
\n
(repeat the above a few hundred times).
我想捕捉两个东西: ‘ some _ Varying _ TEXT’部分,以及在一个捕捉中大写文本下面两行的所有行(稍后我可以去掉换行符)。 我试过几种方法:
re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts
re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines
还有这里的很多变种,但都没有运气。最后一个似乎一行一行地匹配文本,这不是我真正想要的。我可以捕捉第一部分,没有问题,但我似乎不能捕捉4-5行的大写文本。 我希望 match.group (1)是一些变化的文本,group (2)是 line1 + line2 + line3 + 等,直到遇到空行。
如果有人好奇的话,它应该是组成蛋白质的氨基酸序列。