日期:2014-05-18  浏览次数:20886 次

C# 正则表达式 不会写
<div class="c" id="C_3448822217297814">
  <a href="/u/256822820?vt=4&amp">
  Baby_MR_GaG
  </a>
  。。。。。。。。。。。。。。。。。好多1
 </div>
<div></div>
 <div class="c" id="C_3448822217297814">
  <a href="/u/256822820?vt=4&amp;">
  Baby_MR_GaG
  </a>
  。。。。。。。。。。。。。。。。。好多1
 </div>
<div></div>
 <div class="c" id="C_3448822217297814">
  <a href="/u/256822860?vt=4&amp;">
  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&amp"">
  Baby_MR_GaG
  </a>
  。。。。。。。。。。。。。。。。。好多1
 </div>
<div></div>
 <div class=""c"" id=""C_3448822217297814"">
  <a href=""/u/256822820?vt=4&amp;"">
  Baby_MR_GaG
  </a>
  。。。。。。。。。。。。。。。。。好多1
 </div>
<div></div>
 <div class=""c"" id=""C_3448822217297814"">
  <a href=""/u/256822860?vt=4&amp;"">
  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
*/

------解决方案--------------------
探讨

借用ls的html代码
C# code

string html = @"<div class=""c"" id=""C_3448822217297814"">
<a href=""/u/256822820?vt=4&amp;amp"">
Baby_MR_GaG
</a>
。。。。。。。。。。。。。。。。。好多1
</div>
<div></div>
<div clas……