发在另NET Framework 版块的.怕有大侠看不到,所以再这边也发一个帖子
http://topic.csdn.net/u/20100611/10/f56dfa06-5985-42ec-ba59-813cb2bd6350.html?62430
请大家帮帮忙,分不多,辛苦各位了.

解决方案 »

  1.   

    找到原因了。
    工具(RegexTester) 里面用 \n 才能匹配成功
    .net里面要用 \r\n 才能匹配成功可是RegexTester 和MTracer也是基于.net的啊。为什么会有这个差异呢?
      

  2.   

    I don't think so, check what you have changed to the tool.
      

  3.   

    没有优化,稍微修改了一点
    <INPUT TYPE="HIDDEN" NAME="line(?<rowid>\d*)"(?:[\s\S]*?<TD[^>]*>(?<rowdata>[^<]*?)(?:&#12288;)?<[\s\S]*?){11}</TR>[\s\S]+?&#12288;(?<CHname>.+?)&#12288;(?<ENname>.+?)&#12288;[\s\S]+?(?:<TR[^<]*>\r?\n(?:<TD>(?<detail>[^<].*)</TD>\r?\n){3}</TR>\r?\n)+</TABLE>
      

  4.   

    我这样测试的。
    在RegexTester里:  Regex为 1\r\n2 source为  1(回车)2  匹配失败
    在C#里:
    Regex re = new Regex("1\r\n2");
    String s = Textbox1.Text;    //(多行文本框,也是1回车2)
    Console.WriteLine(r.IsMatch(s));   //匹配成功    
      

  5.   

    哦。我说MTracer怎么不能用平衡组呢。