回复下面贴子的高手 在这里说句话吧,结贴给分,感谢了
http://topic.csdn.net/u/20090923/08/9fbbef73-f8f4-4ce8-9553-09130f0463c5.html

解决方案 »

  1.   

    分是次要的
    我关心的是你的解决方式
    是否按照上个帖子的16楼作的
    他的正则 
    @"(?<=[a-zA-Z])(\d+)" 
    需要修改一下 
    @"(?<=[a-zA-Z]+)\d+"别的方法 不敢恭维
      

  2.   


    顶 要不要这样@"(?<=([a-zA-Z]+))\d+" 再加层括号呢?
      

  3.   

      wackyboy的方法真不错,学习了public Form1()
    {
       String a = "if(d3+(j9+m88)/8+43+2+Round(hh99+jj9))";
       MessageBox.Show(Regex.Replace(a, @"(?<=[a-zA-Z]+)\d+", new MatchEvaluator(CapText))); 
     }
     private string CapText(Match m)
     {
       return (int.Parse(m.Value) + 7).ToString();  } 
      

  4.   

    正则中的括号如果没什么意义就不要随便加了  因为加了括号就成了捕获组 正则引擎会将捕获组匹配的内容保存到内存中,所以如果不是必须的尽可能少的用括号。当然了 复杂的正则为了阅读方便可以用括号的,可以将捕获组改成飞捕获组 (?:exp)。