<p>您可以像这样解析数据</p>
<pre class="lang-py prettyprint-override"><code>import re
data = """2021-01-01 10:00:05 - Surname1 Name1 (Comment)
Blablabla
Blabla
2021-01-01 23:00:05 - Surname2 SurnameBis Name2 (WorkNotes)
What?
I don't know?
2021-01-02 03:00:05 - Surname1 Name1 (Comment)
Blablabla!"""
def parse(data):
text = ""
match = None
messages = []
for line in data.split("\n"):
m = re.match("^(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2}) - (.*?) \((.*?)\)$", line)
if m:
if match:
msg = (match.group(1), match.group(2), match.group(3), match.group(4), text)
messages.append(msg)
match = m
else:
text += line + "\n"
msg = (match.group(1), match.group(2), match.group(3), match.group(4), text)
messages.append(msg)
return messages
for message in parse(data):
print(message)
</code></pre>
<p>这个输出</p>
<pre><code>('2021-01-01', '10:00:05', 'Surname1 Name1', 'Comment', 'Blablabla\nBlabla\n')
('2021-01-01', '23:00:05', 'Surname2 SurnameBis Name2', 'WorkNotes', "Blablabla\nBlabla\nWhat?\nI don't know?\n")
('2021-01-02', '03:00:05', 'Surname1 Name1', 'Comment', "Blablabla\nBlabla\nWhat?\nI don't know?\nBlablabla!\n")
</code></pre>