<分区>
我刚刚回顾了我之前发表的一篇文章,注意到很多人建议我不要使用 Regex 来解析 xml。在那种情况下,xml 相对简单,Regex 不会造成任何问题。我还解析了许多其他代码格式,因此为了统一起见,它是有道理的。但我很好奇这在其他情况下会如何造成问题。这只是“不要重新发明轮子”类型的问题吗?
标签 xml regex xml-parsing
<分区>
我刚刚回顾了我之前发表的一篇文章,注意到很多人建议我不要使用 Regex 来解析 xml。在那种情况下,xml 相对简单,Regex 不会造成任何问题。我还解析了许多其他代码格式,因此为了统一起见,它是有道理的。但我很好奇这在其他情况下会如何造成问题。这只是“不要重新发明轮子”类型的问题吗?
最佳答案
真正的麻烦是嵌套标签。嵌套标签很难用正则表达式处理。 balanced matching 是可能的,但这仅适用于 .NET 和其他几种风格。但即使具有平衡匹配的强大功能,放置不当的注释也可能会导致正则表达式失效。
例如,这是一个很难解析的...
<div>
<div id="parse-this">
<!-- oops</div> -->
try to get this value with regex
</div>
</div>
您可能会用正则表达式追查这种极端情况数小时,也许会找到解决方案。但实际上,没有专门的 XML、XHTML 和 HTML 解析器可以更可靠、更高效地完成工作。
关于xml - 为什么用正则表达式解析 XML 是个坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8577060/