xml - 为什么用正则表达式解析 XML 是个坏主意?

标签 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/

相关文章:

java - 以 0.5 为增量检查 1-10 的正则表达式?

java - 如何在 JTree 中的节点旁边显示特定的属性名称和值?

java - 使用 sax 解析器实现的设计问题

c# - 电子签名 c# asp.net

jquery - 将 XML 元素插入到使用 CSS 设置样式的 HTML 页面中

xml - android XML 命名空间的故事是什么?

regex - Smarty 正则表达式匹配

java - xslt 扩展函数返回字符串

regex - 范围 0-200.0000(包括 0 和 200)的正则表达式

c++ - PugiXML C++ 换行符处理问题 : '\n\n' becomes '\\n\\n'