【发布时间】:2020-09-14 21:36:38
【问题描述】:
我有一个字符串,看起来像
text = "customer: Anna Smith; payment: 123; date: 12-02-2020; customer: Jack; payment: 10.3; date: 20-03-2020"
现在我想把它变成一个元组列表(以后我可以用它来创建字典):
[('customer', 'Anna Smith'),
('payment', '123'),
('date', '12-02-2020'),
('customer', 'Jack'),
('payment', '10.3'),
('date', '20-03-2020')]
我尝试通过以下方式将 re.findall 用于此目的:
re.findall(u'(\w+): (.+?);', text)
当然,由于正则表达式中的分号,它不会捕获最后一对键和值。我认为我在这里需要一个 if-else if 操作:如果解析器遇到分号,那么它会提取单词,否则它会检查 EOL (\Z) 的正则表达式。请帮忙
【问题讨论】: