【发布时间】:2020-02-20 23:50:18
【问题描述】:
我必须在 python 中使用正则表达式解析一个日志 txt 文件。这是一个txt的示例(名为file):
20/01/18, 08:11 - 彼得:早上好
你好吗?
Peter 20/01/18, 09:00 - Caroline:我很好,谢谢。你呢?
20/01/18,09:01 - 彼得:很好
几天前我遇到了一些问题。
现在我很开心
你在工作吗?
20/01/18, 09:02 - Caroline:不,我得去超市买 蔬菜
20/01/18,09:12 - 彼得:太好了!
你现在在哪里?
我试图用这个正则表达式解析整个文本:
f = open(file, 'r', encoding='utf-8')
texts=re.findall('(\d+/\d+/\d+, \d+:\d+\d+) - (.+?): (.*)',f.read())
f.close()
df= pd.DataFrame(texts,columns=['data','name','text'])
但是,在 python 中匹配一个或多个换行符时我遇到了问题(例如 Peter 在 09:01 的文本)。我也尝试在https://regex101.com/ 上工作以找到可能的解决方案,但我没有成功。
你能帮帮我吗?
【问题讨论】:
-
你是这个意思吗? regex101.com/r/qLibiH/1
-
顺便说一句,
Peter 20/01/18, 09:00 - Caroline: I am fine thanks. You?行似乎是输入数据中的错字。
标签: python regex findall logfile-analysis