求一个正则表达式,根据img里的src值 来删除整个img标签

eniyi 2010-10-06 06:07:16
有这么个 <img style="width: 488px; height: 228px" height="215" src="http://static13.photo.sina.com.cn/bmiddle/4c0122eeg651d4364223c" width="460" align="right" />
只要src里的字符碰到一个字符串str="photo.sina", 就把整个 <img ~~~~~/>全部删除 请问正则表达式怎么写。
急!!!


没有足够的可用分在技术区发帖只能先发在这了
...全文
159 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2010-10-07
  • 打赏
  • 举报
回复
-过客- 2010-10-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 q107770540 的回复:]
此处使用贪婪匹配确实不妥
[/Quote]

用贪婪模式也不是不可以,只不过效率高低要看源字符串情况而定,一般来说,不会有什么明显差别

string test = "<img src=\"test.jpg\"><img style=\"width: 488px; height: 228px\" height=\"215\" src=\"http://static13.photo.sina.com.cn/bmiddle/4c0122eeg651d4364223c\" width=\"460\" align=\"right\" /> ";
Regex reg = new Regex(@"(?is)<img\s(?:(?!src=)[^>])*src=""(?:(?!photo\.sina)[^>])*photo\.sina[^""]*""[^>]*>");
string result = reg.Replace(test, "");
richTextBox2.Text = result;
q107770540 2010-10-07
  • 打赏
  • 举报
回复
此处使用贪婪匹配确实不妥
兔子-顾问 2010-10-06
  • 打赏
  • 举报
回复
q107770540
.*会导致匹配多的。比如
<img src="test.jpg"><img style="width: 488px; height: 228px" height="215" src="http://static13.photo.sina.com.cn/bmiddle/4c0122eeg651d4364223c" width="460" align="right" /> 
你会捕获整个这段的
兔子-顾问 2010-10-06
  • 打赏
  • 举报
回复
string result = Regex.Replace(html,@"(?is)<img[^<>]*src=""[^<>""]*?photo.sina[^>]*>","");
q107770540 2010-10-06
  • 打赏
  • 举报
回复
string s=Regex.Replace(@"<img style=""width: 488px; height: 228px"" height=""215"" src=""http://static13.photo.sina.com.cn/bmiddle/4c0122eeg651d4364223c"" width=""460"" align=""right"" /> ",@"<img .*src="".*photo.sina.*"" .*/>","");
q107770540 2010-10-06
  • 打赏
  • 举报
回复
<img .*src=".*photo.sina.*" .*/>

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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