读书人

C# 正则表达式 不会写,该怎么处理

发布时间: 2012-06-15 19:37:05 作者: rapoo

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&">
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&amp"">  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*/
[解决办法]
探讨

借用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 clas……

读书人网 >C#

热点推荐