求正则表达式 @"(?is)(?:<img[^>]*?src=|\bbackground(?:=|:url\())(?:(['""])(?<img>[^'"">)]+)\1|(?<img>[^'""\s)>]+))"这个正则是取页面中所有的img和background的图片地址,但是却不能取到有符号的图片地址,比如带()的,该如何修改? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 @"(?is)(?:<img[^>]*?src=|\bbackground(?:=|:url\())(?:(['""])(?<img>[*]+)\1|(?<img>[*]+))" @"(?is)(?:<img[^>]*?src=|\bbackground(?:=|:url\())(?:(['""])(?<img>[.]+)\1|(?<img>[.]+))" 楼上还是不能识别到啊<img alt="" src="http://d8.jetphoto.cn/home/d1_ff58bac9/album/ZT_080904092545.data/size_2/02(1).jpg" width="500" height="500"> 给出所有可能情况的例子Regex reg = new Regex(@"(?is)<img[^>]*?(?:(?:src|\bbackground)=(['""]?)(?<img>[^'""\s>]*)\1|\bbackground:url\((?<img>[^()]*)\))");MatchCollection mc = reg.Matches(yourStr);foreach (Match m in mc){ richTextBox2.Text += m.Groups["img"].Value + "\n";} string str = @"<img alt="""" src=""http://d8.jetphoto.cn/home/d1_ff58bac9/album/ZT_080904092545.data/size_2/02(1).jpg"" width=""500"" height=""500"">"; Regex reg = new Regex(@"((?<=img[^<>]*src="").*?(?=""))"); foreach (Match m in reg.Matches(str)) Console.WriteLine(m.Value);能给个backgroud的例子么 Regex reg = new Regex(@"((?<=img[^<>]*src="").*?(?=""))|((?<=background[^<>]*src="").*?(?=""))"); 过客兄,<table border="0" cellspacing="0" cellpadding="0" width="710" background="http://d8.jetphoto.cn/home/d1_ff58bac9/album/mercury_080724212904.data/size_full/pro_09.jpg" align="center">你写的括号是能转了,这个又失效了,之前也是你帮我写的,需要可以识别带中文,带符号的图片地址,src、background=、background(url:****)这种的 string str = @"<table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""710"" background=""http://d8.jetphoto.cn/home/d1_ff58bac9/album/mercury_080724212904.data/size_full/pro_09.jpg"" align=""center"">"; Regex reg = new Regex(@"((?<=img[^<>]*src="").*?(?=""))|((?<=background="").*?(?=""))"); foreach (Match m in reg.Matches(str)) Console.WriteLine(m.Value); 写错了是style="background:url(http://d8.jetphoto.cn/home/d1_ff58bac9/album/mercury_080724212904.data/size_full/pro_09.jpg)",之前的都可以 CSDN流传一句话有正则的地方就有过客果然 看了第一眼感觉像是我写的,不过回答的问题太多,你的规则记不清了,试下这个Regex reg = new Regex(@"(?is)(?:<img[^>]*?src|\bbackground)=(['""]?)(?<img>[^'""\s>]*)\1|\bbackground:url\((?<img>[^()]*)\)");MatchCollection mc = reg.Matches(yourStr);foreach (Match m in mc){ richTextBox2.Text += m.Groups["img"].Value + "\n";} <img src=http://w5.myzcm.com/2007/12/guest/在 工(中)国有.jpg>这个无法转换了 加上双引号也转不了<img src="http://w5.myzcm.com/2007/12/guest/在 工(中)国有.jpg"> 这种本身就是错误的,你不可能要求去适配这种格式对于这种,你也要考虑一下,是否真的有必要去考虑,实际应用中一般是不会允许出现空格的<img src="http://w5.myzcm.com/2007/12/guest/在 工(中)国有.jpg">考虑的情况越多,所写的正则就越复杂,相应的可读性和效率也就越差,正则只写合适当前所需的,不写考虑所有情况的Regex reg = new Regex(@"(?is)(?:<img[^>]*?src|\bbackground)=(?:(['""])(?<img>[^'"">]+)\1|(?<img>\S+))|\bbackground:url\((?<img>[^()]+)\)");MatchCollection mc = reg.Matches(yourStr);foreach (Match m in mc){ richTextBox2.Text += m.Groups["img"].Value + "\n";} <img src=abc.jpg>这种形式取多了点,调整了一下Regex reg = new Regex(@"(?is)(?:<img[^>]*?src|\bbackground)=(?:(['""])(?<img>[^'"">]+)\1|(?<img>[^\s>]+))|\bbackground:url\((?<img>[^()]+)\)");MatchCollection mc = reg.Matches(yourStr);foreach (Match m in mc){ richTextBox2.Text += m.Groups["img"].Value + "\n";} 字符文本中的字符太多 asp.net 生成rss聚合问题!!!!!!!!! c# 用户权限问题 关于连接数 如何读取某个指定文件夹下所有的图片文件(jpeg,bmp),并且展示出来。 自定义属性如何实现让其默认值自增? 请问怎么在页面载入的时候执行某个按纽的代码?这样为什么不行?谢谢! 请问如何在触发超链接时改变session值 反编译后的DLL怎么用 关于iframe! 谁有类似于CSdn上传头像的源码(Asp.net中) 一个js问题
<img alt="" src="http://d8.jetphoto.cn/home/d1_ff58bac9/album/ZT_080904092545.data/size_2/02(1).jpg" width="500" height="500">
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["img"].Value + "\n";
}
Console.WriteLine(m.Value);能给个backgroud的例子么
string str = @"<table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""710"" background=""http://d8.jetphoto.cn/home/d1_ff58bac9/album/mercury_080724212904.data/size_full/pro_09.jpg"" align=""center"">"; Regex reg = new Regex(@"((?<=img[^<>]*src="").*?(?=""))|((?<=background="").*?(?=""))"); foreach (Match m in reg.Matches(str))
Console.WriteLine(m.Value);
有正则的地方就有过客果然
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["img"].Value + "\n";
}
这种本身就是错误的,你不可能要求去适配这种格式对于这种,你也要考虑一下,是否真的有必要去考虑,实际应用中一般是不会允许出现空格的
<img src="http://w5.myzcm.com/2007/12/guest/在 工(中)国有.jpg">考虑的情况越多,所写的正则就越复杂,相应的可读性和效率也就越差,正则只写合适当前所需的,不写考虑所有情况的
Regex reg = new Regex(@"(?is)(?:<img[^>]*?src|\bbackground)=(?:(['""])(?<img>[^'"">]+)\1|(?<img>\S+))|\bbackground:url\((?<img>[^()]+)\)");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["img"].Value + "\n";
}
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["img"].Value + "\n";
}