您能否提供一些示例,说明为什么用正则表达式很难解析XML和HTML?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 一个错误我看到人们做了,并再次试图解析XML或HTML用正则表达式。以下是难以解析XML和HTML的一些原因: 人们希望将文件视为一系列行,但这是有效的: <tag attr="5" /> 人们希望将<或<标记视为标记的开头,但是这种情况在野外存在: <img src="imgtag.gif" alt="<img>" /> 人们通常希望将开始标签与结束标签匹配,但是XML和HTML允许标签包含它们自己(传统的正则表达式根本无法处理): <span id="outer"><span id="inner">foo</span></span> 人们通常希望将其与文档内容进行匹配(例如著名的“在给定页面上查找所有电话号码”问题),但是数据可能会被标记(即使在查看时看起来很正常): <span class="phonenum">(<span class="area code">703</span>) <span class="prefix">348</span>-<span class="linenum">3020</span></span> 注释可能包含格式不正确或不完整的标签: <a href="foo">foo</a> <!-- FIXME: <a href=" --> <a href="bar">bar</a> 您还知道其他哪些陷阱?