当前位置:编程学习 > C#/ASP.NET >>

正则匹配 大侠们帮忙下

我现在有个字符串是

<span class="tl_r orange">提问者:<a href="http://cdscs.com/cdscs" class="orange" target="_blank">愚者方林</a> - 初级甲板工 一级</span></strong>


不知道正则要怎么才可以匹配出  愚者方林 4个字。

就是类似于 <a href="dddd.com/dsd/cds.apx">xxxx000000</href>
我要怎么样才可以匹配出xxxx000000这个几个字,刚学正则,希望大侠们解惑下 --------------------编程问答-------------------- (?<=<a[^>]*>)(.*?)(?=</a>) --------------------编程问答-------------------- MatchCollection mc= Regex.Matches(str, @" <a[^> ]*href=([ ' " "]?)(? <url> [^ ' " "> \s]*)\1?[^> ]*> (? <text> [^ <]*) </a> ", RegexOptions.IgnoreCase);   
foreach (Match m in mc)   
{   
  Response.Write(m.Groups[ "url "].Value);   
  Response.Write(m.Groups[ "text "].Value);   
}   
--------------------编程问答--------------------
只能匹配出愚者方林
后面的  “初级甲板工” 和 “一级”都匹配不出来了


引用 1 楼 fangxinggood 的回复:
(?<=<a[^>]*>)(.*?)(?=</a>)
--------------------编程问答-------------------- (?<=<span[^>]*>)((?'value1'[^<>]*?)<a[^>]*>(?'value2'[^<>]*?)</a>(?'value3'[^<>]*?)?)(?=</span>)

GROUP[value1]: '提问者:' 
GROUP[value2]: '愚者方林'
GROUP[value3]: ' - 初级甲板工 一级'

--------------------编程问答-------------------- == 过客 和 逍遥,他们应该有更好的答案。 --------------------编程问答--------------------

void Main()
{
string html=@"<span class=""tl_r orange"">提问者:<a href=""http://cdscs.com/cdscs"" class=""orange"" target=""_blank"">愚者方林</a> - 初级甲板工 一级</span></strong>";
 
Match m = Regex.Match(html,@"(?is)<span.*?>.*?<a.*?>(.*?)</a>.*?([^-]*?)</span>");
if(m.Success)
{
 Console.WriteLine(m.Groups[1].Value);
 Console.WriteLine(m.Groups[2].Value);
}
}

/*
结果:
愚者方林
 初级甲板工 一级

*/


正则的匹配结果要明确
不能像在帖中问的 只匹配 愚者方林
而后边又说 又要匹配  初级甲板工 一级

不同的匹配对应不同的正则表达式
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,