正则表达式匹配超链接
想把下载的网页中的所有超链接全部删除,例如hi<a href="www.baidu.com">baidu</a>world
最后只剩hiworld
想这么用 (c++的正则库,但是在那个板块问没人回答,在这里问问(*^__^*))
regex linkexp("<a.*?>.*?</a>");
string body = regex_replace(inbody,linkexp," ");
regex linkexp("<a\\s*?>.*?</a>");
上面两个都试过,对于一些网页可以,但是有些网页就会报错,c++抛出异常,上网查询说是正则表达式有歧义导致,匹配产生NP完全问题才会停止的,不知道该怎么修改,查了很多资料都找不到原因
[解决办法]
试一试:regex linkexp("<a\s+href.*?a>");
[解决办法]
试试这个"<a[^>]+>[^>]*?</a>"
[解决办法]
把报错的那个网页的HTML代码贴点给我们测试一下