请问怎样写正则

erytbc 2009-07-17 03:18:57
<div class="PartC_A">
<div class="C_A_Left">
<table cellspacing="0" class="block_01">
<tr>
<td class="Pic">
<a href=/mobile/productalbum/1991.html target=_blank><img src=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpg height="250" alt='海信 T68' vspace=2></a>
</td>


我要写正则,把图片地址弄出来http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpg

,请问怎么写?
...全文
74 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
utopia54 2009-07-17
  • 打赏
  • 举报
回复
UP
超维电脑科技 2009-07-17
  • 打赏
  • 举报
回复
学习了
-过客- 2009-07-17
  • 打赏
  • 举报
回复
try...

Regex reg = new Regex(@"(?is)(?<=<img(?:(?!src=).)*src=(['""]?))[^""'\s>]+(?=\1[^>]*>)");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
saisky 2009-07-17
  • 打赏
  • 举报
回复
<script type="text/javascript">
var str='<img alt="alt" src="files/9471252.gif" title="title"/>';
alert(str.replace(/<img.*?src=('|\"|)((.+?)(.jpg|.gif|.png|.bmp|.jpeg))(.*?)>/ig,"$2"));
</script>
HDNGO 2009-07-17
  • 打赏
  • 举报
回复
            string s = " <img src=http://i0.sinaimg.cn/IT/mobile/models/U513P2T136Daaa.jpg alt='夏新 T6' height=\"250\" vspace=2>sdfsfd <img src=http://i0.sinaimg.cn/IT/mobile/models/U513P2T136D6350F3244DT20071109084645.jpg alt='夏新 T6' height=\"250\" vspace=2>";
Regex re = new Regex(@"<img[^>]*src=(""(?<src>[^""]*)""|'(?<src>[^']*)'|(?<src>[^\s>]*))[^>]*>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match m;
for (m = re.Match(s); m.Success; m = m.NextMatch())
{
string src = m.Groups["src"].Value;
Console.WriteLine(src);
}
Console.Read();


貌似我看到的结果是两条。。呵呵
HDNGO 2009-07-17
  • 打赏
  • 举报
回复
你测试了?
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 hdngo 的回复:]
引用 17 楼 kkun_3yue3 的回复:
如果把字符串改为这样呢?
HTML code <divclass="PartC_A"> <divclass="C_A_Left"> <tablecellspacing="0" class="block_01"> <tr> <tdclass="Pic"> <ahref=/mobile/productalbum/1991.htmltarget=_blank> <imgsrc=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpgheight="250" sf
sfgsfg
src=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpgheight="250" alt='海信T68' vspace=2> </a> </td>


一样的吧,C# codestring s="..";
Regex re=new Regex(@"<img[^>]*src=(""(?<src>[^""]*)""|'(?<src>[^']*)'|(?<src>[^\s>]*))[^>]*>", RegexOptions.IgnoreCase| RegexOptions.Singleline);
Match m;for (m= re.Match(s); m.Success; m= m.NextMatch())
{string src= m.Groups["src"].Value;
Console.WriteLine(src);
}
Console.Read();
[/Quote]

你的这个不行的,他有2个jpg,你只获取了一个.
HDNGO 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 lcl_data 的回复:]
引用 20 楼 hdngo 的回复:
引用 19 楼 lcl_data 的回复:
C# codeRegex r=new Regex(@"src=([^\s]+)");
请批评指正...


这个。。是什么?

17 楼改了源串..是不是考虑的太不周全?
[/Quote]

呵呵,
<frame id="lFrame" src="frame_src.htm">
HDNGO 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 kkun_3yue3 的回复:]
如果把字符串改为这样呢?
HTML code<divclass="PartC_A"><divclass="C_A_Left"><tablecellspacing="0" class="block_01"><tr><tdclass="Pic"><ahref=/mobile/productalbum/1991.htmltarget=_blank><imgsrc=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpgheight="250" sf
sfgsfg
src=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpgheight="250" alt='海信T68' vspace=2></a></td>
[/Quote]

一样的吧,

string s = "..";
Regex re = new Regex(@"<img[^>]*src=(""(?<src>[^""]*)""|'(?<src>[^']*)'|(?<src>[^\s>]*))[^>]*>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match m;
for (m = re.Match(s); m.Success; m = m.NextMatch())
{
string src = m.Groups["src"].Value;
Console.WriteLine(src);
}
Console.Read();
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 hdngo 的回复:]
引用 19 楼 lcl_data 的回复:
C# codeRegex r=new Regex(@"src=([^\s]+)");
请批评指正...


这个。。是什么?
[/Quote]
17 楼改了源串..是不是考虑的太不周全?
HDNGO 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 lcl_data 的回复:]
C# codeRegex r=new Regex(@"src=([^\s]+)");
请批评指正...
[/Quote]

这个。。是什么?
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
Regex r = new Regex(@"src=([^\s]+)");

请批评指正...
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 kkun_3yue3 的回复:]
如果把字符串改为这样呢?
HTML code<divclass="PartC_A"><divclass="C_A_Left"><tablecellspacing="0" class="block_01"><tr><tdclass="Pic"><ahref=/mobile/productalbum/1991.htmltarget=_blank><imgsrc=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpgheight="250" sf
sfgsfg
src=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpgheight="250" alt='海信T68' vspace=2></a></td>
[/Quote]
初级选手的答案: Regex r = new Regex(@"(src=([^\s]+))+");
只根据你的源串来的.
kkun_3yue3 2009-07-17
  • 打赏
  • 举报
回复
如果把字符串改为这样呢?
<div class="PartC_A">
<div class="C_A_Left">
<table cellspacing="0" class="block_01">
<tr>
<td class="Pic">
<a href=/mobile/productalbum/1991.html target=_blank><img src=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpg height="250" sf
sfgsfg
src=http://i1.sinaimg.cn/IT/mobile/models/U513P2T136D6110F3244DT20071009225806.jpg height="250" alt='海信 T68' vspace=2></a>
</td>
kkun_3yue3 2009-07-17
  • 打赏
  • 举报
回复
http(\s|\S)+jpg

初级选手的答案
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 lcl_data 的回复:]
引用 12 楼 hdngo 的回复:
引用 10 楼 lcl_data 的回复:
优化了下..
C# code Regex r=new Regex(@" <img\s*src=([^\s]+)\s*[^>]*>");


。。。。SRC后边,没有引号,单引号,双引号,都能通过。。。

所以,都要考虑的。。。


好,谢谢提醒,我在去修改下
[/Quote]

全部处理就和你的差不多了.hehe
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hdngo 的回复:]
引用 10 楼 lcl_data 的回复:
优化了下..
C# code Regex r=new Regex(@" <img\s*src=([^\s]+)\s*[^>]*>");


。。。。SRC后边,没有引号,单引号,双引号,都能通过。。。

所以,都要考虑的。。。

[/Quote]
好,谢谢提醒,我在去修改下
erytbc 2009-07-17
  • 打赏
  • 举报
回复
谢谢高手些
HDNGO 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lcl_data 的回复:]
优化了下..
C# code Regex r=new Regex(@"<img\s*src=([^\s]+)\s*[^>]*>");
[/Quote]

。。。。SRC后边,没有引号,单引号,双引号,都能通过。。。

所以,都要考虑的。。。
wl_bdqn 2009-07-17
  • 打赏
  • 举报
回复
解决了
加载更多回复(10)

62,072

社区成员

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

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

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

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