正则匹配 大侠们帮忙下
我现在有个字符串是<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);
}
--------------------编程问答--------------------
只能匹配出愚者方林
后面的 “初级甲板工” 和 “一级”都匹配不出来了
--------------------编程问答-------------------- (?<=<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#