使用正则表达式解析HTML:为什么不呢?

使用正则表达式解析HTML:为什么不呢?

使用正则表达式从HTML中获取一些信息将不可避免地有一个“答案”,表示不使用正则表达式来解析HTML。

为什么不?我知道那里有引用 - 不引用“真正的”HTML解析器,比如Beautiful Soup,我相信它们是强大而有用的,但是如果你只是做一些简单,快速或肮脏的事情,那么为什么当一些正则表达式语句运行得很好时,麻烦使用如此复杂的东西?

此外,是否有一些基本的东西,我不了解正则表达式,这使得它们一般是解析的错误选择?


万千封印
浏览 1433回答 4
4回答

有只小跳蛙

对于quick'n'dirty regexp会很好。但要知道的根本事情是,构建一个正确解析HTML 的正则表达式是不可能的。原因是regexp无法处理任意嵌套表达式。请参阅可以使用正则表达式来匹配嵌套模式吗?

湖上湖

两个快速的原因:编写一个可以抵御恶意输入的正则表达式很难; 比使用预建工具更难写一个可以使用你将不可避免地被困的荒谬标记的正则表达式很难; 比使用预建工具更难关于正则表达式一般用于解析的适用性:它们不适合。您是否见过解析大多数语言所需的各种正则表达式?
打开App,查看更多内容
随时随地看视频慕课网APP