正则表达式获取a标签href里面的值

x15928666119 2010-09-15 09:47:16
我要获取a标签里面href引号里面的内容 .正则如何写 string reg = @"<a[^>]*href=(""(?<href>[^""]*)""|'(?<href>[^']*)'|(?<href>[^\s>]*))[^>]*>(?<text>[\s\S]*?)</a>";这个正则可以获取 如 <a href="web1.html"></a>的href值既"web1.html" 。但..如果这样写<a href="../web1.html">或者<a href="~/web1.html">就获取不到"../"或者"~/"。哪位牛人给解决方案。只要是href引号里面的东西就全部获取!
...全文
8342 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
YU494092072 2011-10-28
  • 打赏
  • 举报
回复
不行啊 编译都不能通过
ubosm 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qingyunluck 的回复:]
List<String> links = new List<String>();

MatchCollection matches = Regex.Matches(html, "<a(?:\\s+.+?)*?\\s+href=\"([^\"]*?)\".+>(.*?)</a>", RegexOptions.IgnoreCase);

foreach (Match match in matc……
[/Quote]

此方法不错 谢谢!
q107770540 2011-02-28
  • 打赏
  • 举报
回复
string reg = @"(?i)<a[^>]*href=([""'])?(?<href>[^'""]+)\1[^>]*>"
q107770540 2011-02-28
  • 打赏
  • 举报
回复

string reg = @"<a[^>]*href=([""'])?(?<href>[^'""]+)\1[^>]*>"
grzx2210 2011-02-28
  • 打赏
  • 举报
回复
用Html Agility Pack 1.4.0 html分析。和改变href值。
东云180 2011-02-28
  • 打赏
  • 举报
回复
List<String> links = new List<String>();

MatchCollection matches = Regex.Matches(html, "<a(?:\\s+.+?)*?\\s+href=\"([^\"]*?)\".+>(.*?)</a>", RegexOptions.IgnoreCase);

foreach (Match match in matches)
{
string s = match.Groups[1].Value;
links.Add(s);
}
这样可以获取整个html流中的href中的值,但是我不知道怎么替换原来的href属性值.
x15928666119 2010-09-15
  • 打赏
  • 举报
回复
在.NET后台获取渲染好以后的html输出结果流,并改变html页面结果流中的href属性值.请问能用js做到?如能做到。请给个解决方案
MSDNXGH 2010-09-15
  • 打赏
  • 举报
回复
用JS获取,A标签,然后,获取HREF内容。。。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧