<li>
百度:
<a href="http://www.baidu.com/" target="_blank">
<font color="#ff7700">用户中心</font>
</a>
</li>
1、百度:是不变的<a href="http://www.baidu.com/" target="_blank"> ,如果有http://www.baidu.com/这个是变动的
2、这个链接可能有也可能没有
3、<font color="#ff7700">是不变的,但其中ff7700是变动的(小写字母、大写字母、数字0-9)6位
求得到“用户中心”的正则

解决方案 »

  1.   

    try:(?is)(?<=<a href=\"http://www.baidu.com/\" target=\"_blank\"><font color=\".*\">).*(?=</font>)
      

  2.   


    (?is)(?<=<a href=\"http://www.baidu.com/\" target=\"_blank\"><font color=\"#[a-zA-Z0-9]{6}\">).*(?=</font>)
      

  3.   

                string str = @"<li>
    百度:
    <a href=""http://www.baidu.com/"" target=""_blank"">
    <font color=""#ff7700"">用户中心</font>
    </a>
    </li>";
                Regex reg = new Regex(@"(?is)<li>\s*?百度:.*?<font\s*?color=""#[a-z\d]{6}"">(.*?)</font>");
                foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Groups[1].Value);
      

  4.   

    正则表达式中没法直接用中文吧,要用\u+unicode编码,这有个查询的网页http://www.goberl.com/functionaspx/demandRegexCoding.aspx