Python 通过匹配模式获取多个子字符串

Python 通过匹配模式获取多个子字符串,python,python-3.x,Python,Python 3.x,您好,我有一个像这样的长字符串(只是在这里它太大了)Error hasdaskdashdkha status:400\n\t Error asdasdas status 404\n\t 我想从这里得到类似这样的输出 1. Error hasdashdkashdaskhdkha status:400 2. Error asdasdasdasdasdas status 404 为此,我正在做类似的事情 import re mainString = "Error hasdashdkas

您好,我有一个像这样的长字符串(只是在这里它太大了)
Error hasdaskdashdkha status:400\n\t Error asdasdas status 404\n\t

我想从这里得到类似这样的输出

1.  Error hasdashdkashdaskhdkha status:400
2.  Error asdasdasdasdasdas status 404
为此,我正在做类似的事情

import re
mainString = "Error hasdashdkashdaskhdkha status:400 \n\t Error asdasdasdasdasdas status 404 \n\t"
start = re.escape("Error")
end   = re.escape("\n\t")

result = re.search('%s(.*)%s' % (start, end), mainString).group(1)

print(result)

我得到这个只是
错误hasdashdkskha状态:400
。请建议我如何同时获取这两个项目

您应该使用
re.findall
查找每个项目。不过,您可以微调选择,因为您选择的是
Error
之后和错误代码之后的空格。请参阅输出数组

import re
mainString = "Error hasdashdkashdaskhdkha status:400 \n\t Error asdasdasdasdasdas status 404 \n\t"
start = re.escape("Error")
end   = re.escape("\n\t")
result = re.findall('%s(.*)%s' % (start, end), mainString)

>>> result
[' hasdashdkashdaskhdkha status:400 ', ' asdasdasdasdasdas status 404 ']