C# 正则表达式 不会写
<div class="c" id="C_3448822217297814">
<a href="/u/256822820?vt=4&">
Baby_MR_GaG
</a>
。。。。。。。。。。。。。。。。。好多1
</div>
<div></div>
<div class="c" id="C_3448822217297814">
<a href="/u/256822820?vt=4&">
Baby_MR_GaG
</a>
。。。。。。。。。。。。。。。。。好多1
</div>
<div></div>
<div class="c" id="C_3448822217297814">
<a href="/u/256822860?vt=4&">
Baby_MR_GaG
</a>
。。。。。。。。。。。。。。。。。好多1
</div>
<div></div>
想获取 Baby_MR_GaG 这个值。这样可以写正则吗,C#???
[解决办法]
(?is)<a\s*href="[^"]+"[^>]*>(.*?)</a>
取第一个分组即可 m.Group[1].Value.Trim()
或者这样
(?is)(?<=<a\s*href="[^"]+"[^>]*>).*?(?=</a>)
直接取m.Value.Trim();
[解决办法]
(?is)(?<=\<a[^>]+?).+?(?=\</a\>)
[解决办法]
借用ls的html代码
- C# code
string html = @"<div class=""c"" id=""C_3448822217297814""> <a href=""/u/256822820?vt=4&""> Baby_MR_GaG </a> 。。。。。。。。。。。。。。。。。好多1 </div><div></div> <div class=""c"" id=""C_3448822217297814""> <a href=""/u/256822820?vt=4&""> Baby_MR_GaG </a> 。。。。。。。。。。。。。。。。。好多1 </div><div></div> <div class=""c"" id=""C_3448822217297814""> <a href=""/u/256822860?vt=4&""> Baby_MR_GaG </a> 。。。。。。。。。。。。。。。。。好多1 </div><div></div>"; string pattern = @"(?is)<a\s*href=""[^""]+""[^>]*>(.*?)</a>"; MatchCollection mc = Regex.Matches(html, pattern); foreach (Match m in mc) { Console.WriteLine(m.Group[1].Value.Trim());//去掉收尾空格 }//或者string pattern = @"(?is)(?<=<a\s*href=""[^""]+""[^>]*>).*?(?=</a>)"; MatchCollection mc = Regex.Matches(html, pattern); foreach (Match m in mc) { Console.WriteLine(m.Value.Trim());//去掉收尾空格 }/* Baby_MR_GaG Baby_MR_GaG Baby_MR_GaG*/
[解决办法]