正则匹配alt的问题!!!!!!!!!!1

qiudong_5210 2011-12-14 03:51:38
谁帮我把下面这个匹配的东西,改为alt=xxx时也能匹配到alt啊



string altValue = "alt的值";
protected void Page_Load(object sender, EventArgs e)
{
string s = "<img src='a.jpg' alt="nihao" /><img src='a.jpg' title='aaa' /><img src='b.jpg' /><img src='b.jpg' alt='aaa' /><img src='x.jpg' alt=xxx />";
MatchEvaluator me = new MatchEvaluator(ABC);
string r = Regex.Replace(s, @"(?is)<img[^>]*/>", ABC);
Response.Write(Server.HtmlEncode(r));
}
private string ABC(Match match)
{
Match innerMatch = Regex.Match(match.Value, @"(?is)alt=(['""])(?<altValue>.*?)\1");
if (innerMatch.Success)
{
if (innerMatch.Groups["altValue"].Value.Length > 0)
return match.Value;
else
return Regex.Replace(match.Value, @"(?is)(?<=alt=['""]).*?(?=['""])", altValue);
}

else
return match.Value.Replace("/>", " alt='" + altValue + "'/>");
}

...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiudong_5210 2011-12-16
  • 打赏
  • 举报
回复
如果我想改变所有的alt的值怎么改啊?
dalmeeme 2011-12-14
  • 打赏
  • 举报
回复
改这句试试:Match innerMatch = Regex.Match(match.Value, @"(?is)alt=(['""]?)(?<altValue>.*?)\1");
Mr-Jee 2011-12-14
  • 打赏
  • 举报
回复
(['""]?)
orain 2011-12-14
  • 打赏
  • 举报
回复
alt=(['"]?)(?<altValue>(?(\1)\S*|.*?))\1

62,074

社区成员

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

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

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

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