用于从 HTML 代码解析 URL 的正则表达式

本文关键字:URL 正则表达式 HTML 代码 用于 | 更新日期: 2023-09-27 18:32:11

我有HTML代码,我想从中解析超链接的值,我希望使用正则表达式。整个页面的代码可以在下面附加的html中找到:

http://dl.dropbox.com/u/4571235/example.html

我想在文档中每个"比较价格"按钮之后获取超链接。

用于从 HTML 代码解析 URL 的正则表达式

在这里检查。

并尝试以下代码:

public static bool isValidUrl(ref string url)
{
    string pattern = @"^(http|https|ftp)'://[a-zA-Z0-9'-'.]+'.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9'-'._'?',''/'''+&%'$#'=~])*[^'.',')'('s]$";
    Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
    return reg.IsMatch(url);
}

我看到源代码中还有其他 URL - 我可以建议以下正则表达式,但只有当每个"比较价格"文本后面直接跟着您感兴趣的 url 时,它才能正常工作(即,如果"正确"之间没有其他 URL)。如果存在没有匹配 url 的"比较价格"文本,则需要根据某些规则更改正则表达式。

value="Compare prices"(?:.*?)<a's+href="([^"]*?)"

网址将位于匹配的组 1 中。

通常链接位于"标签"或"链接"或"img src="url"中。
如果它在 href 标签中,您可以检查有效的 href,然后仅对初学者执行验证......
0. 首先以按钮包含的形式获取所有内部 html.
1.然后只拿起href标签进行进一步检查...pattern="<a[^>]*>" or pattern="<link[^>]*>" or pattern="<img[^>]*>"
2.然后为每个标签拉出链接,src和href标签
3.然后检查网址是否有效。注意:如果你可以执行步骤0,那么你最链接地只获取给定类型的所有属性,然后对它们执行正则表达式.