[英]Regex to get url from HTML
我正在使用以下正则表达式(我在网上找到)来获取HTML页面中的网址;
Regex regex = new Regex(@"url\((?<char>['""])?(?<url>.*?)\k<char>?\)");
适用于以下HTML;
<div style="background:url(images/logo.png) no-repeat;">UK</div>
但是,当HTML页面包含以下Javascript时,返回的内容超出了我的需要,返回“ destpage”
function buildurl(destpage)
我尝试了以下正则表达式包含冒号,但它似乎无效
:url\((?<char>['""])?(?<:url>.*?)\k<char>?\)
任何帮助将非常感激。
要获取所有URL,请使用HtmlAgilityPack而不是Regex。 从他们的示例页面
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
{
}
您可以对此进行扩展,例如通过使用//@style
获取style
节点,然后遍历style
节点以提取url
值来获取style
url
。
只将冒号添加到前面:
:url\((?<char>['""])?(?<url>.*?)\k<char>?\)
第二个“ url
”是该组的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.