求帮写一个正则表达式啊

moli_p 2011-03-11 04:07:13
<a href="javascript:winopen('../news/dispdetail.asp?id=3382')" class="9bp">中文标题</a>

之前 别人 写的

<a href="/article/html/energy_0647064749952701.html" title="成品油价出现批零倒挂 零售油价或下周末上调" target="_blank">
Regex regex = new Regex("<a.*?href=\"(?<href>.*?)\".*?title=\"(?<title>.*?)\".*?>", RegexOptions.Compiled);
可以取到 href 和title
现在 我上边的那个链接如何写正则表达式 能得到 链接 和标题 拜托帮下忙了
...全文
84 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangwenquan123 2011-03-14
  • 打赏
  • 举报
回复

string str = "<a href=\"javascript:winopen('../news/dispdetail.asp?id=3385')\" class=\"9bp\">"
+" 国资委邵宁: 国企需要与市场经济最终融合 </a>";
Regex reg = new Regex(@"(?is)<a[^>]*href=(['""\s])[^(]*?\((['""]?)(?<href>[^)]*?)\2[^>]*>(?<content>((?!</?a).)*)");
MatchCollection match = reg.Matches(str);
foreach (Match m in match)
{
Response.Write(m.Groups["href"].Value + "<br/>" + m.Groups["content"].Value + "<br/>");
}
/*
../news/dispdetail.asp?id=3385
国资委邵宁: 国企需要与市场经济最终融合
*/
moli_p 2011-03-14
  • 打赏
  • 举报
回复

string str = "<a href="javascript:winopen('../news/dispdetail.asp?id=3385')" class="9bp">
国资委邵宁:国企需要与市场经济最终融合 </a>";


好吧.. 我想说 原来 里边字符串是这样的 我要怎么截取? 每次 都只能得到 /r 我一直以为 就是 我上边写的那样开始。。。
huangwenquan123 2011-03-11
  • 打赏
  • 举报
回复

//是<a></a>之间有很多空格吗?
string str = "<a href=\"javascript:winopen('../news/dispdetail.asp?id=3382')\" class=\"9bp\"> 中 文 标 题</a>";
Regex reg = new Regex(@"<a[^>]*href=(['""\s])[^(]*?\((['""]?)(?<href>[^)]*?)\2[^>]*>(?<content>((?!</?a).)*)");
MatchCollection match = reg.Matches(str);
foreach (Match m in match)
{
Response.Write(m.Groups["href"].Value + "<br/>" + m.Groups["content"].Value + "<br/>");
}
/*也是输出
../news/dispdetail.asp?id=3382
中 文 标 题
/*
moli_p 2011-03-11
  • 打赏
  • 举报
回复
啊.. 我字符串 是 这个啊 就是 中间多了 好多的空格 然后 我就输出吥了了 输出的只有/r。。。。。
huangwenquan123 2011-03-11
  • 打赏
  • 举报
回复

/*
没问题啊?还是那个正则,输出的结果还是
../news/dispdetail.asp?id=3382
中文标题
还是你的字符串不是这个?
*/
string str = "<a href=\"javascript:winopen('../news/dispdetail.asp?id=3382')\" class=\"9bp\"> 中文标题</a>";
Regex reg = new Regex(@"<a[^>]*href=(['""\s])[^(]*?\((['""]?)(?<href>[^)]*?)\2[^>]*>(?<content>((?!</?a).)*)");
MatchCollection match = reg.Matches(str);
foreach (Match m in match)
{
Response.Write(m.Groups["href"].Value + "<br/>" + m.Groups["content"].Value + "<br/>");
}
moli_p 2011-03-11
  • 打赏
  • 举报
回复
... 这个 写的没问题 但我发现 我那个
<a href="javascript:winopen('../news/dispdetail.asp?id=3382')" class="9bp">中文标题</a>

在 标题 和标签<a></a> 中间好多的 空格 所以 格式是这样:
<a href="javascript:winopen('../news/dispdetail.asp?id=3382')" class="9bp"> 中文标题</a>
然后。。。现在取出来的 只有一个/r。。。。。。
这样要怎么写。。拜托了


huangwenquan123 2011-03-11
  • 打赏
  • 举报
回复
            string str = "<a href=\"javascript:winopen('../news/dispdetail.asp?id=3382')\" class=\"9bp\">中文标题</a>";
Regex reg = new Regex(@"<a[^>]*href=(['""\s])[^(]*?\((['""]?)(?<href>[^)]*?)\2[^>]*>(?<content>((?!</?a).)*)");
MatchCollection match = reg.Matches(str);
foreach (Match m in match)
{
Response.Write(m.Groups["href"].Value + " " + m.Groups["content"].Value + "<br/>");
}
/*../news/dispdetail.asp?id=3382 中文标题

*/
moli_p 2011-03-11
  • 打赏
  • 举报
回复
自己顶下。。。有人帮帮忙没啊!!!

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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