【问题标题】:Regexp extract XML attribute value [duplicate]正则表达式提取 XML 属性值 [重复]
【发布时间】:2017-08-18 16:32:44
【问题描述】:

请建议如何使用 regexp python 样式获取 xml 属性值。

这里是例子,摘录必须完全匹配(长故事)

<method code="ABC">

我实现的最多的是(?&lt;=code=\")(.*?)(?=\"&gt;),但这完全忽略了方法部分

谢谢

【问题讨论】:

  • 不要使用正则表达式解析 XML;使用真正的 XML 解析器。

标签: python regex xml


【解决方案1】:

好吧,要么你学习正则表达式的基础语法并使用re,要么你看看Python的xml.etree.ElementTree模块直接解析xml。

如果您想使用正则表达式,您可以使用在线工具以交互方式测试特定语言的表达式,例如regex101

也许&lt;(?P&lt;method&gt;\w*?) (?P&lt;code&gt;\w*?)=\"(?P&lt;value&gt;.*)\"&gt; 可以完成这项工作。 但是再一次,如前所述,使用正则表达式从 XML 中提取数据是脆弱且非常有限的。


编辑:3 的更清晰解释

EDIT2:添加正则表达式建议

【讨论】:

  • 我所说的python风格是指将处理这个正则表达式的应用程序需要python regexp语法。编码在这里不是一个选项,所以唯一的方法是让正则表达式工作。
  • 然后你可以使用我最后提供的链接。它是一个在线工具,允许测试特定语言的正则表达式。我将编辑我的答案,以便更清楚。
  • 感谢您的回答 Fabien,我已经在您建议的网站上测试了我的正则表达式,然后在此处发布并寻求解决方案
  • 已添加基本正则表达式建议,您可以在此基础上工作。
猜你喜欢
  • 2011-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
相关资源
最近更新 更多