【发布时间】:2020-11-13 08:50:49
【问题描述】:
我正在尝试在两个字符串(包括锚定字符串)之间提取文本。文件内容被简化为这样的变量:-
variable = '70026 TTBB 70128 70026 00020 01006 ' \
'11925 04300 22919 03903 33911 00114 ' \
'44880 02233 55834 00227 66806 02056 ' \
'77788 00647 88771 00661 41414 /////=' \
'PPBB 70128 70026 90001 02512 01510 ' \
'03013 90234 05012 04022 04521 90567 '\
'04533 04025 03023 9089/ 02526 02525 '\
'91246 02022 01521 9535/ 08510 04006=' \
'TTAA 70121 70026 99020 01006 02512 ' \
'00171 00301 03014 92793 04300 05014 ' \
'85472 00627 04029 70025 03947 02027 ' \
'31313 42408 81101 03026='
我想得到的是TT 到= 之间的字符串(包括这些锚点)并将所有匹配的字符串保存为列表。预期的输出是:-
['TTBB 70128 ... 88771 41414 /////=', 'TTAA 70121 ... 42408 81101 03026=']
我尝试的是:-
print(re.findall(r'TT(.*?)=', variable))
这让我接近我想要的,如下所示:-
['BB 70128 ... 88771 41414 /////', 'AA 70121 ... 42408 81101 03026']
正如您在上面看到的,不包括匹配字符串。那么如何告诉re 在结果中包含TT 和=。
【问题讨论】: