<div id="45517_58563_gedan_track" class="musicLBgem" style="background-position:-500px -16px;"><p>
<a href="listen.jsp?type=music&ftype=2&fid=53&id=58563" target="listenpage">爱的抱抱</a>
<span class="by2">by</span>

郭书瑶

</p></div>
用正则表达式怎样提取上面 “爱的抱抱”(歌名) 和 “郭书瑶”(歌手) 这两部分

解决方案 »

  1.   

    <a[^>]*>(?<title>[\s\S]*?)</a>[\s\S]*?</span>(?<name>[\s\S]*?)</p>
      

  2.   

    <a href=\"listen.jsp?type(.*?|\n*?)\" target=\"listenpage\">(.*?|\n*?)</a> 
    <span class=\"by2\">by </span> 
    (.*?|\n*?)
    </p>
      

  3.   

    try...Regex reg = new Regex(@"(?is)<p>\s*<a[^>]*>(?<sName>(?:(?!</a\b).)*)</a>\s*<span class=""by2"">by</span>(?<mName>(?:(?!</?p\b).)*)</p>");
    MatchCollection mc = reg.Matches(yourStr);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["sName"].Value.Trim() + "\n";
        richTextBox2.Text += m.Groups["mName"].Value.Trim() + "\n";
    }