没分发贴了求救 正则高手请进帮忙了呀!!搞了一天了没搞出来。。。

xr396464010 2009-12-21 08:08:12
我要获取下面这个DIV里面所有IMG 但是要全路径,例如 http://img10.360buyimg.com/S5/4776/445a950e-4ded-444d-94bd-f418a73dcc43.jpg:
第(1)题:
<div id="Product_LittleImage"><ul id="mycarousel" class="jcarousel-skin-tango"><li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/4776/445a950e-4ded-444d-94bd-f418a73dcc43.jpg" name="4776/445a950e-4ded-444d-94bd-f418a73dcc43.jpg"/></li>
<li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/2529/729d44ed-9f76-43a1-9122-2b2d50069ad4.jpg" name="2529/729d44ed-9f76-43a1-9122-2b2d50069ad4.jpg"/></li><li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/2355/b4c1f8ab-aa87-4ba4-9b77-2aaeca0ec3e1.jpg" name="2355/b4c1f8ab-aa87-4ba4-9b77-2aaeca0ec3e1.jpg"/></li><li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/2878/4b626f5b-8952-4fde-9231-f9728b92ce27.jpg" name="2878/4b626f5b-8952-4fde-9231-f9728b92ce27.jpg"/></li><li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/2966/4468e136-88ff-4abd-a007-e51ccb9d0a9f.jpg" name="2966/4468e136-88ff-4abd-a007-e51ccb9d0a9f.jpg"/></li><li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/2949/72f018d8-c32f-482b-88c3-29a3c03748cf.jpg" name="2949/72f018d8-c32f-482b-88c3-29a3c03748cf.jpg"/></li><li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/4291/93adb700-df6d-4f2a-a7db-a448669db481.jpg" name="4291/93adb700-df6d-4f2a-a7db-a448669db481.jpg"/></li><li><img onerror = "this.src='http://www.360buy.com/images/none/none_50.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S5/1997/8062ff5e-11cf-4def-a88e-7365b211ef82.jpg" name="1997/8062ff5e-11cf-4def-a88e-7365b211ef82.jpg"/></li></ul>
</div>

第(2)题:要完成跟第一题一样的功能就一个IMH 图片地址
我要获取 http://img10.360buyimg.com/S1/1997/8062ff5e-11cf-4def-a88e-7365b211ef82.jpg
<div id="Product_BigImage" class="jqzoom" onclick = "window.open('http://www.360buy.com/bigimage.aspx?id=187582')"><img onerror = "this.src='http://www.360buy.com/images/none/none_347.gif'" alt="联想(Lenovo)Y450A-TSI 14.0英寸笔记本电脑(T6600 2G 320G 512M独显 D刻 蓝牙 WIN7)" src="http://img10.360buyimg.com/S1/1997/8062ff5e-11cf-4def-a88e-7365b211ef82.jpg" width="349" jqimg="http://img10.360buyimg.com/S0/1997/8062ff5e-11cf-4def-a88e-7365b211ef82.jpg"/>
</div>
...全文
135 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2009-12-21
  • 打赏
  • 举报
回复
徒弟可是不敢随便收的,话说现在在单位,现在最对不起的就是我徒弟了,一直认为我是在误人子弟

即便只叫过一声“师傅”,那也是一种责任哪
xr396464010 2009-12-21
  • 打赏
  • 举报
回复
我知道 我就是很崇拜 过客,以后还的继续学习。
wendaoyang 2009-12-21
  • 打赏
  • 举报
回复
还没到那样的境界,还得继续学习
xr396464010 2009-12-21
  • 打赏
  • 举报
回复
过客你是我偶像!!!
xr396464010 2009-12-21
  • 打赏
  • 举报
回复
谢谢呀!! 你几分钟的事情我几天也搞不定,太谢谢了
哈哈 我要是能做个小过客就好拉!!!
xr396464010 2009-12-21
  • 打赏
  • 举报
回复
不好意思呀用了你的头像, 哈哈这头像太好看了,我想做你徒第, 不知道这样你会不会生气
-过客- 2009-12-21
  • 打赏
  • 举报
回复
string id = Regex.Escape(textBox1.Text);
Regex reg = new Regex(@"(?is)<div[^>]*?id=""" + id + @"""[^>]*>(?><div[^>]*>(?<o>)|</div>(?<-o>)|(?:(?!</?div\b).)*)*(?(o)(?!))</div>");
Regex regImg = new Regex(@"(?i)<img[^>]*?(?<=\s)src=(['""]?)(?<src>[^'""\s>]+)\1[^>]*>");
Match mDiv = reg.Match(yourStr);
if (mDiv.Success)
{
MatchCollection mcImg = regImg.Matches(mDiv.Value);
foreach (Match mImg in mcImg)
{
richTextBox2.Text += mImg.Groups["src"].Value + "\n";
}
}


汗,话说那个头像。。。
xr396464010 2009-12-21
  • 打赏
  • 举报
回复
好的我等你晚上帮我解决吧 麻烦你了, 不是我去你 博客我现在了解一些基本的正则但是不太会用,会起来老是错,一个符号就报错,所以真做不出来, 麻烦你拉!!!
-过客- 2009-12-21
  • 打赏
  • 举报
回复
现在不太好回答问题,晚上回去再给你弄吧,其实结合前向个帖子的回复,再看下我博客里关于平衡组的介绍就可以搞定了
xr396464010 2009-12-21
  • 打赏
  • 举报
回复
麻烦你了,我搞了一天拉,现在很是郁闷
xr396464010 2009-12-21
  • 打赏
  • 举报
回复
过客, 这题麻烦你再看下,这个是获取整个页面的了,我要获取上面指定那个DIV里面的图片,
第一题 根据这个id="Product_LittleImage 取
第二题 只有一张图片也是根据 id="Product_BigImage" 取
最好能给个全路径 例如 http://img10.360buyimg.com/S5/4776/445a950e-4ded-444d-94bd-f418a73dcc43.jpg

再个就是 445a950e-4ded-444d-94bd-f418a73dcc43.jpg
我想要这两个做个参考。。
wiki14 2009-12-21
  • 打赏
  • 举报
回复
小客客问问题,
大客客来回答。
tianliang1 2009-12-21
  • 打赏
  • 举报
回复
楼上的人真牛。。。这样的题目也看得出来该怎么回到。。。
-过客- 2009-12-21
  • 打赏
  • 举报
回复
try...

Regex regImg = new Regex(@"(?i)<img[^>]*?(?<=\s)src=(['""]?)(?<src>[^'""\s>]+)\1[^>]*>");
MatchCollection mcImg = regImg.Matches(yourStr);
foreach (Match mImg in mcImg)
{
richTextBox2.Text += mImg.Groups["src"].Value + "\n";
}

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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