为什么使用正则表达式解析 XML 是一个坏主意? [关闭]

2023-12-09

我刚刚回顾了我之前发表的一篇文章,注意到很多人建议我不要使用 Regex 来解析 xml。在这种情况下,xml 相对简单,Regex 不会造成任何问题。我还解析了许多其他代码格式,因此为了统一起见,这是有意义的。但我很好奇这在其他情况下会如何造成问题。这只是一个“不要重新发明轮子”类型的问题吗?


真正的麻烦是嵌套标签。嵌套标签很难用正则表达式处理。这是可能的平衡匹配,但这仅在 .NET 中可用,也许还有其他几种版本。但即使具有平衡匹配的功能,不当的注释也可能会导致正则表达式失效。

例如,这是一个很难解析的问题......

<div>
    <div id="parse-this">
        <!-- oops</div> -->
        try to get this value with regex
    </div>
</div>

您可能会用正则表达式花费几个小时来追踪这样的边缘情况,也许会找到解决方案。但实际上,如果有专门的 XML、XHTML 和 HTML 解析器来更可靠、更高效地完成这项工作,那是没有意义的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么使用正则表达式解析 XML 是一个坏主意? [关闭] 的相关文章

随机推荐