如题,如果已知有<span class="c1">省份:<a href="http://shengfen.XXX.com/12313dsadadsadsad.htm">广东</a></span>这样的形式,我想取出"广东"这个数据,用正则这么写呢,谢谢帮忙下。(其中<a>中的href属性里http://shengfen.XXX.com/这个是固定的,不会变,12313dsadadsadsad这个是随机生成的,但它都是以htm结尾的)

解决方案 »

  1.   

    (?i)(?<=<span class="c1">省份[::]<a[^>]*?href="http://shengfen.XXX.com/.*?\.htm">)[^<>]+(?=</a>)
      

  2.   


    void Main()
    {
      string str = @"<span class=""c1"">省份:<a href=""http://shengfen.XXX.com/12313dsadadsadsad.htm"">广东</a></span>";
      foreach(Match m in Regex.Matches(str,@"(?i)(?<=<span class=""c1"">省份[::]<a[^>]*?href=""http://shengfen.XXX.com/.*?\.htm"">)[^<>]+(?=</a>)"))
      {
       Console.WriteLine(m.Value);
      }
      
      /*
    广东
      */
    }
      

  3.   


    Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
                MatchCollection mc = reg.Matches(yourStr);
                foreach (Match m in mc)
                {
                    richTextBox2.Text += m.Groups["url"].Value + "\n";//得到href值
                    richTextBox2.Text += m.Groups["text"].Value + "\n";//得到<a><a/>中间的内容
                }
      

  4.   

    问下,如果http://shengfen.XXX.com/12313dsadadsadsad.htm这个格式变成这种形式呢
    href="http://shengfen.XXX.com/user-difang(这前面这些是固定)-asd0255dsa1ds0215adsa(这个随机).htm(htm是固定的)