求正则表达式,大人们
1:获取了某网站的Html代码
2:代码中包含很多类似于<div style="white-space:nowrap; padding-left:em;"><img src="themes/77gu/images/circle.gif" alt="something" /><a href="2.html">促销专购</a></div>
我现在想把这些div先获取到,然后在获取div里面的<a href="2.html">促销专购</a>,最终的目的是
获取2.html和“促销专购”
谢谢
[解决办法]
(?is)<div[^>]*?><img\b[^>]*?src=(["']?)([^"']*?)\1[^>]*?/>(?<Linlk><a[^>]*href=(["']?)([^"']*?)\3[^>]*?>(.*?)</a>)</div>
string input = @"<div style=""white-space:nowrap; padding-left:em;""><img src=""themes/77gu/images/circle.gif"" alt=""something"" /><a href=""2.html"">促销专购</a></div>"; string pattern = @"(?is)<div[^>]*?><img\b[^>]*?src=([""']?)([^""']*?)\1[^>]*?/>(?<Link><a[^>]*href=([""']?)([^""']*?)\3[^>]*?>(.*?)</a>)</div>"; foreach (Match m in Regex.Matches(input, pattern)) { Response.Write(m.Value); Response.Write(m.Groups["Link"].Value); Response.Write(m.Groups[4].Value); Response.Write(m.Groups[5].Value); }