我有一个 XML 片段,例如:
<CharacterBlock MinVal="-10.000000" MaxVal="15.000000" Active="1">
我需要解析最小和最大浮点值。我不能使用像 ElementTree 这样的 XML 解析器,所以我不得不使用正则表达式。
我编写了以下 Python 正则表达式:
re.compile('<CharacterBlock MinVal="(?P<MinVal>-?[0-9]*\.?[0-9]*)" MaxVal="(?P<MaxVal>-?[0-9]*\.?[0-9]*)" .*?>', re.DOTALL)
适用于上述代码段。但是由于 XML 属性就像一个字典,它们的顺序是不能保证的,有时我会收到如下代码片段:
<CharacterBlock Active="0" MaxVal="-15.000000" MinVal="-100.000000">
如果我想匹配的组的顺序不固定,我该如何处理?