62,046
社区成员
发帖
与我相关
我的任务
分享
string patern = "(?is)<div\\s*class=\"box page_details\"\\s*>(.*)?(?<img><[img|IMG].*?src=[\'|\"](.*?(?:[.gif|.jpg]))[\'|\"].*?[/]?>)(.*)?</div>";
string tempStr = File.ReadAllText(@"C:\3.txt", Encoding.GetEncoding("GB2312"));//tempStr 就是你的字符串
Regex re = new Regex(patern);
List<string> lists = new List<string>();
MatchCollection sr = re.Matches(tempStr);
foreach (Match me in sr)
{
lists.Add(me.Groups["img"].Value);//结果在lists
}
static void Main(string[] args)
{
string str = @"<img src=""http://www.inluxe.cn/assets/shared/images/grey0.gif"" original=""/uploads/news/2012/03/salvatore-ferragamo-02_1.jpg"">
<div class=""box page_details"">
<h4>最新新闻 Latest News</h4>
<div class=""mainleft "">
<h1>菲拉格慕 Salvatore Ferragamo 盛大举行 Signorina 香氛发布会</h1>
<p style=""margin-top:-20px; margin-bottom:20px;"">发布日期:2012/3/25</p>
<div class=""details h20 lazyload"">
<p>
<p>当地时间3月20日,菲拉格慕(Salvatore Ferragamo)为新款香氛Signorina在纽约举行盛大发布会。当晚发布会现场星光璀璨,众星云集,包括Emma Roberts、Annasophia Robb、Courtney Love、Kate Mara、Bianca Balti、the Brant Brothers等在内的明星均盛装亮相助阵。</p>
<p>
<img alt=""Salvatore Ferragamo 02 1"" src=""http://www.inluxe.cn/assets/shared/images/grey.gif"" original=""/uploads/news/2012/03/salvatore-ferragamo-02_1.jpg"">
</p>
</div>
<img src=""http://www.inluxe.cn/assets/shared/images/grey2.gif"" original=""/uploads/news/2012/03/salvatore-ferragamo-02_1.jpg"">
";
Regex re = new Regex(@"(?is)<div\s*class=""box page_details"">.*?(<img\s*alt=""[^""]+""\s*src=""([^""]+)""\s*original=""([^""]+)"">).*?</div>", RegexOptions.IgnoreCase);
Match ma = re.Match(str);
Console.WriteLine(ma.Groups[1].Value);
//Groups1结果:<img alt="Salvatore Ferragamo 02 1" src="http://www.inluxe.cn/assets/shared/images/grey.gif" original="/uploads/news/2012/03/salvatore-ferragamo-02_1.jpg">
Console.WriteLine(ma.Groups[2].Value);
//Group2结果:http://www.inluxe.cn/assets/shared/images/grey.gif
Console.WriteLine(ma.Groups[3].Value);
//group3结果:/uploads/news/2012/03/salvatore-ferragamo-02_1.jpg
Console.WriteLine();
Console.ReadLine();
}
Regex re = new Regex(@"(?is)(?<=<div\s*class=""box page_details"">.*?<img\s*alt=""[^""]+""\s*src="")[^""]+(?="".*?</div>)", RegexOptions.None);
string str = re.Match("你要提取的字符串").Value;
//结果:http://www.inluxe.cn/assets/shared/images/grey.gif