看起来像stackoverflow上的每个问题,asker使用regex从HTML获取一些信息将不可避免地有一个“答案”说不使用regex来解析HTML。
为什么不?我知道有引用引用的“真正的”HTML解析器在那里像Beautiful Soup,我相信它们是强大的和有用的,但如果你只是做一些简单,快速,或脏,那么为什么打扰使用东西这么复杂,当几个regex语句将工作很好?
此外,有没有什么基本的,我不明白正则表达式,使他们一个不错的选择解析一般?
整个HTML解析是不可能与正则表达式,因为它取决于匹配开放和结束标记是不可能与正则表达式。
原文链接:https://www.f2er.com/regex/358398.html正则表达式只能匹配regular languages,但HTML是context-free language.在HTML上,使用正则表达式可以做的唯一的事情是启发式,但是不会在每个条件下工作。应该可以呈现一个将被任何正则表达式错误匹配的HTML文件。