![]() |
1
4
虽然正则表达式可以很好地用于各种各样的任务,但我发现在解析HTMLDOM时,它通常不够。HTML的问题在于,文档的结构是如此多变,以至于很难准确地提取标签(准确地说,我的意思是100%的成功率,没有假阳性)。
我建议您使用一个DOM解析器,例如
有些人可能认为这是一种过度杀伤力,但归根结底,它将更容易维护,并且允许更多的可扩展性。例如,使用DOM解析器,我还可以获得alt属性。
可以设计一个正则表达式来实现相同的目标,但会受到限制,从而强制
另外,考虑以下内容。正确匹配
此外,如果出现以下情况,上述情况可能会失败:
同样,不要使用正则表达式来解析DOM文档。 |
![]() |
2
2
regex对于这项工作来说是一个非常糟糕的工具。使用解析器。在执行此操作之前,请通过HTML整理运行它来修复无效的HTML。无论您使用什么语言(您不说),都将有一个或多个HTML解析器可用。 |
![]() |
3
0
您没有提到您使用的是哪种语言,但是您可能应该将它加载到一个XML文档中,并在DOM中进行适当的搜索。正则表达式将模式匹配,但您可能会得到各种误报。 |
![]() |
4
0
试图用正则表达式来解决这类问题是除盐器的一个秘诀。如果您在服务器上工作,请使用一个容错的HTML解析器(例如,hpricot for ruby)解析代码片段,并根据DOM进行验证。 在客户端上也可以使用el.innerhtml=…” |
![]() |
5
0
而不是直接用raw解决这个问题
|
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
![]() |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
![]() |
Katia · 根据特定规则进行多行匹配 2 年前 |
![]() |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
![]() |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |