有两个正则要取
第一个正则
<a href="/p/1815165110" target="_blank"
<a href="/p/1815012498" target="_blank"
<a href="/p/1815578010" target="_blank" 将中间的数字取出来,这个数字是随机的,并没有一定的长度。第二个正则target="_blank" class="j_th_tit">这个是文本</a>
target="_blank" class="j_th_tit">这个长度不限制</a>
就是将中间的文本取出来,文本的长度也不是一定的,有长有短,多谢高手们,小弟就剩下最后的20分了,以后就不来这里发帖了~感谢大家最近给我的帮助,我学到很多,谢谢!

解决方案 »

  1.   

    \<a href="/p/\d+" target\="_blank"target\="_blank" class="j_th_tit">\.*\</a\>
      

  2.   

    \<a href="/p/\d+" target\="_blank"target\="_blank" class\="j_th_tit">\.*\</a\>
      

  3.   

    1、(?i)<a[^>]*?href=(['""]?)[^'""]*?(\d+?)\1[^>]*?> 取第二个分组
    2、
    (?i)<a[^>]*?>([^<>]+?)</a>  取第一个分组 (无class限定)
    (?i)<a[^>]*?class=(['""]?)j_th_tit\1[^>]*?>([^<>]+?)</a> 取第二个分组(只取class=j_th_tit)
      

  4.   

    高手啊,我只要中间的数字啊,你这样是把我的那个取出来了,可是html标签还是在的啊.多谢帮我,再帮我改改,谢谢了!
      

  5.   

    高手啊,我只要中间的数字啊,你这样是把我的那个取出来了,可是html标签还是在的啊.多谢帮我,再帮我改改,谢谢了!
      

  6.   

    \<a href="/p/\(d+)" target\="_blank"
    取第1个分组
      

  7.   

    \<a href="/p/(\d+)" target\="_blank"
    取第1个分组
      

  8.   

    \<a href="/p/(\d+)" target\="_blank"
    取第1个分组
      

  9.   

    [1]
    MatchCollection mc = Regex.Matches(yourStr1,@"(?<=<a href="/p/)\d+");
    [2]
    MatchCollection mc = Regex.Matches(yourStr1,@"(?<=target="_blank" class="j_th_tit">)((?!</a).)+");
      

  10.   

    string szText ="<a href=\"/p/1815165110\" target=\"_blank\""
    Regex regex = new Regex("<a href=\"/p/(?<d>\\d+)\" target=\"_blank\"");
                if (regex.IsMatch(szText) == false)
                    return false;
                Match match = regex.Match(szText);
                double value= 0;
                if (false == double.TryParse(match.Groups["d"].Value, out value))
                    return false;
    ///value就是你要的