我想使用正则表达式从文本文件中找到一个部分。我的文件如下:
This is general text section that I don't want.
HEADER:ABC1
This is section text under header
More text to follow
Additional text to follow
HEADER:XYZ2
This is section text under header
More text to follow
Additional text to follow
HEADER:KHJ3
This is section text under header
A match text will look like this A:86::ABC
现在,如果部分文本包含匹配HEADER
,我想要检索最多A:86::ABC
的所有部分文字。结果文本将是
(HEADER:KHJ3
This is section text under header
A match text will look like this A:86::ABC).
我感谢任何帮助。我正在使用python,匹配部分可以在文件中不止一个。这也是一个多行文件。
答案 0 :(得分:1)
regex = re.compile(".*(HEADER.*$.*A:86::ABC)", re.MULTILINE|re.DOTALL)
>>> regex.findall(string)
[u'HEADER:KHJ3\nThis is section text under header \nA match text will look like this A:86::ABC']
希望这会有所帮助。
对于2次捕获,请使用".*(HEADER.*$)(.*A:86::ABC)"