本帖最后由 llx1990 于 2013-02-24 22:03:56 编辑

解决方案 »

  1.   

    加上匹配的内部不包含'good'就行了。(?<=(good))((?!good).)*(?=(bad))
      

  2.   

    顶机器人
    还有一种解决方案:
    匹配的时候,从右至左匹配:
    Regex reg=new Regex("",RegexOptions.RightToLeft);
      

  3.   

    string pattern= @"(?<=good)\d+(?=bad);
      

  4.   


    还得把不包含bad也加进去。
      

  5.   

    但是我想要匹配的是最右边最短的那个good
    ==》
    是不是这个值都在最右边,如果都是在最右边的话,那就指定匹配从右至左就行了,
    如果不固定,那就行用1楼的方法 
      

  6.   

    高手~~!!感谢机器人!!我本来也是这么想的,用的是[^good] 发现原来这个是按字符的 无法按字符串筛选。。