【发布时间】:2011-07-18 13:58:57
【问题描述】:
我正在解析一个包含两种不同类型行的 xml 文件(下面称为 xml):
1. <line a="a1" b="b1" c="c1">
2. <line a="a2" c="c2">
我试图只从第二种类型中提取 a2 和 c2,但是这个正则表达式也捕获第一种类型:
>>> list = re.findall('<line a="(.*)" c="(.*)">', xml)
>>> print(list)
[('a1" b="b1', 'c1'), ('a2', 'c2')]
如何只捕获第二种类型?
【问题讨论】:
-
为什么要使用正则表达式来解析 XML?它们并不完全正常...例如,您是否查看过 ElementTree 库?