html求一难点的正则

c02645 2013-09-30 09:00:28
<a href="http://nn.c365.com/newhouse/h234.shtml#teambuy"
target="_blank">我要团购</a>
<a
href=http://nn.c365.com/newhouse/h758.shtml#teambuy target="_blank">我要团购</a>
<a href='http://nn.c365.com/newhouse/h787.shtml#teambuy' target="_blank">我要团购</a>
<a target="_blank" href="h234.shtml#teambuy">我要团购</a>
<a target="_blank" href=http://nn.c365.com/newhouse/h34.shtml#teambuy>我要团购</a>
<a target="_blank" href='http://nn.c365.com/newhouse/h4.shtml#teambuy'>我要团购</a>

<p>
    <strong><a href="http://nn.zp365.com/newhouse/h2.shtml" target="_blank">中房翡翠园</a></strong>【<a href="http://nn.zp365.com/newhouse/h2.shtml" target="_blank">详情</a> <a href="http://nn.zp365.com/newhouse/HouseImgList.aspx?hid=2&tid=0" target="_blank">户型</a> <a href="http://nn.zp365.com/newhouse/HouseImgGeneralList.aspx?hid=2" target="_blank">图库</a> <a href="http://nn.zp365.com/newhouse/otherInfo.aspx?hid=2&typeInfo=Dc" target="_blank">动态</a> <a href="http://nn.zp365.com/newhouse/HouseMap.aspx?hid=2" target="_blank">地图</a>】 <a href="http://nn.c365.com/newhouse/h2.shtml#teambuy">>>>我要团购</a></p>

含有#teambuy的连接,把 target="_blank"和连接href里的内容替换成 href="javascript:;" onclick="showTeamBuy('234')"
红色的数字保留
我写的是Response.Write(Regex.Replace(s, "<a([^<>]+)href=(\"|'|).*?(\\d+)\\.shtm([^<>]+)#teambuy(\"|'|)(([^<>]+)|)>", "<a href=\"javascript:;\" onclick=\"showTeamBuy('$3')\">"));
但里面的很多连接都替换了
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
洪爷爷 2013-09-30
  • 打赏
  • 举报
回复
引用 6 楼 c02645 的回复:
[quote=引用 5 楼 hong10108 的回复:] [quote=引用 4 楼 c02645 的回复:] 感谢你们的支持,我自己解决了 Response.Write(Regex.Replace(s, "<a([^<>]+)href=(\"|'|)([^<>]+)/h(\\d+)\\.shtml#teambuy(\"|'|)(([^<>]+)|)>", "<a href=\"javascript:;\" onclick=\"showTeamBuy('$4')\">")); $4就是要保留的那些红色数字
这个替换能保留字符?是在别的地址取的那数字吧?[/quote] 本来就可以保留的啊,你不懂吗?$1是表示第一个()的内容,以此类推 $4是第4个[/quote] 啊,我不懂,原来圆括号还有这功能,,是不是只在asp.net中有用?在别的程序也是这样吗?
c02645 2013-09-30
  • 打赏
  • 举报
回复
引用 5 楼 hong10108 的回复:
[quote=引用 4 楼 c02645 的回复:] 感谢你们的支持,我自己解决了 Response.Write(Regex.Replace(s, "<a([^<>]+)href=(\"|'|)([^<>]+)/h(\\d+)\\.shtml#teambuy(\"|'|)(([^<>]+)|)>", "<a href=\"javascript:;\" onclick=\"showTeamBuy('$4')\">")); $4就是要保留的那些红色数字
这个替换能保留字符?是在别的地址取的那数字吧?[/quote] 本来就可以保留的啊,你不懂吗?$1是表示第一个()的内容,以此类推 $4是第4个
洪爷爷 2013-09-30
  • 打赏
  • 举报
回复
引用 4 楼 c02645 的回复:
感谢你们的支持,我自己解决了 Response.Write(Regex.Replace(s, "<a([^<>]+)href=(\"|'|)([^<>]+)/h(\\d+)\\.shtml#teambuy(\"|'|)(([^<>]+)|)>", "<a href=\"javascript:;\" onclick=\"showTeamBuy('$4')\">")); $4就是要保留的那些红色数字
这个替换能保留字符?是在别的地址取的那数字吧?
c02645 2013-09-30
  • 打赏
  • 举报
回复
感谢你们的支持,我自己解决了 Response.Write(Regex.Replace(s, "<a([^<>]+)href=(\"|'|)([^<>]+)/h(\\d+)\\.shtml#teambuy(\"|'|)(([^<>]+)|)>", "<a href=\"javascript:;\" onclick=\"showTeamBuy('$4')\">")); $4就是要保留的那些红色数字
洪爷爷 2013-09-30
  • 打赏
  • 举报
回复
能搞定你的问题不?
洪爷爷 2013-09-30
  • 打赏
  • 举报
回复


protected void b3_Click(object sender, EventArgs e)
{
l3.Text = "";
string[] str = new string[9];
str[0] = "<a href=\"http://nn.c365.com/newhouse/h234.shtml#teambuy\"";
str[1] = "<a href='http://nn.c365.com/newhouse/h787.shtml#teambuy' target=\"_blank\">";
str[2] = "<a target=\"_blank\" href=\"h234.shtml#teambuy\">我要团购</a>\"";
str[3] = "<a target=\"_blank\" href=http://nn.c365.com/newhouse/h34.shtml#teambuy>我要团购</a>";
str[4] = "<a target=\"_blank\" href='http://nn.c365.com/newhouse/h4.shtml#teambuy'>我要团购</a>";
str[5] = "<a href=\"http://nn.c365.com/newhouse/h2.shtml#teambuy\">>>>我要团购</a>";
str[6] = "<a href=\"http://nn.zp365.com/newhouse/HouseImgList.aspx?hid=2&tid=0\" target=\"_blank\">户型</a>";
str[7] = "<a href=\"http://nn.zp365.com/newhouse/HouseImgGeneralList.aspx?hid=2\" target=\"_blank\">";
str[8] = "<a href=\"http://nn.c365.com/newhouse/h2.shtml#teambuy\">>>>我要团购</a></p>";

for (int i = 0; i < 9; i++)
{
l3.Text += Server.HtmlEncode(Regex.Replace(str[i], @"^<a\s.*teambuy[""']?", @"<a href=""javascript:;"" onclick=""showTeamBuy('$3')""")) + "<br />";
}

}


  • 打赏
  • 举报
回复
不知道你到底想问什么,写清楚点; 我觉得是不是可以考虑用js呢

62,046

社区成员

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

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

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

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