我需要在网页的HTML源代码中找到所有链接和图片。我实际上有以下表达方式:
boost::regex findurl("(?s)<\\s*a\\s+.*?href\\s*=\\s*['\"]([^http]{1}[^\\s>]*)['\"]", boost::regex::normal | boost::regbase::icase);
如何找到图片(标签)呢?
答案 0 :(得分:4)
学习Perl并使用HTML :: Parser所花费的时间比调试这个不适用于病态HTML的正则表达式更少。我已经可以在其中找到三个错误链接,即使你只询问图像。
这包括示例代码,即使您不了解Perl,您也可以知道如何修改。 http://perlmeme.org/tutorials/html_parser.html
答案 1 :(得分:0)
在字符类([^http]
)中重复字符似乎不正确。 djechlin有一个观点,即RE可能不够用于最简单的HTML。