【发布时间】:2021-07-18 13:53:32
【问题描述】:
我正在用 Python 解析一个巨大的文件,其中包含以下行:
"Value names: 0 = Something, 1 = Something, else, 4 = A value, 5 = BAD - enough, 6 GOOD, 7 = Ugly,"
我的目标是将它们放入字典中。
问题在于它们的书写方式根本不一致,其中一些缺少逗号、等号等。而且名称中可能还有逗号和其他东西。数字(键)也可能包含多个数字。我唯一确定的是,名字中没有数字。
正因为如此,我想尝试一下正则表达式,但结果比预期的要困难一些。
我试过的是这个。
s = "Value names: 0 = Something, 1 = Something, else, 4 = A value 5 = BAD, 6 GOOD, 7 = Ugly,"
pattern = re.compile(r'([0-9]+)([A-Z]+)')
for (numbers, letters) in re.findall(pattern, s):
...
但是,这(对于受过训练的眼睛来说可能很明显)不起作用。
由于我对正则表达式不是很精通,因此我非常感谢一些帮助,因为我无法直接编辑文件,而且所有手动解析技巧似乎都不足。
【问题讨论】:
标签: python regex text-parsing re