为什么使用dom来解析网页而不是正则表达式?

Jür*_*aul 4 php regex search parsing dom

我一直在寻找有关在页面中查找内容的问题,并且DOM在解析网页而不是使用时,建议使用很多答案REGEX.为什么会这样?它是否会改善处理时间等.

Bor*_*lid 6

DOM解析器实际上正在解析页面.

正则表达式正在搜索文本,而不是理解HTML的语义含义.

可以证明HTML不是常规语言; 因此,不可能创建一个正则表达式来解析HTML文档中任意元素模式的所有实例,而不匹配某些不是该元素模式实例的文本.

可以设计一个适用于您的特定用例的正则表达式,但预测您将提供的HTML(以及它将如何打破您的有限用例正则表达式)非常困难.

另外,正则表达式更难以适应页面内容的变化而不是XPath表达式,并且XPath(在我看来)更容易阅读,因为它不需要关注语法开头和关闭等语法几率和结尾.

因此,不是使用错误的工具(结构化文档的文本解析工具),而是使用正确的工具(用于解析HTML的HTML解析器).


归档时间:

查看次数:

2338 次

最近记录:

13 年,8 月 前