比如有<table id="table1"><tr><td>1111111</td></tr>如何用正则表达式获得111111这个啊??
我以前都是用STRING的indexof这个方面来找索引获得的,觉得好麻烦现在想慢慢了解一下c#的正则来获得,
各位帮帮忙,带我了解一下啊。。

解决方案 »

  1.   

    如果你的格式固定的。
    <table id="table1" > <tr > <td >1111111 </td > </tr >
    那是可以的
    (?<=<table id="[^"]*" > <tr > <td >)(.|\n)*?(?= </td > </tr >)
    以上没有转义,你复制的时候记得对\和"转义。你可以这样拼接一个正则:string regExp = "(?<=" + "开头标志" + ")" + "(.|\\n)*?" + "(?=" + "结束标志" + ")";匹配的就是:开头标志xxyyzzdeeff213xvewmk;l结束标志这个字符串中的:xxyyzzdeeff213xvewmk;l部分。
      

  2.   

    ????
    我刚发的回复没有了????
    可以用这个正则:(?<=<table id="[^"]*" > <tr > <td >)(.|\n)*(?= </td > </tr >)或者自己拼接一个正则
    string start = "开头";
    string end = "结束";
    string regExp = "(?<=" + start + ")" + "(?:.|\\n)*?" + "(?=" + end + ")";
    string result = System.Text.Reg忘记后面如何写了.Regex.Match("开头测试,测试结束",regExp).Value;
    MessageBox.Show(result);
      

  3.   

    这, 
    新论坛的操作太复杂了吧。打开几次看到的内容不同???????
    过程:打开->回复->重新查阅,我的回复显示了。关闭ie后。想看看。重新打开这个帖子,显示回复0个。重新写,回复。之前的又出来了???
      

  4.   

    谢谢wuyazhe了
    能给出在c#中调用REGEX的代码吗?因为是第一次用,不大熟悉
      

  5.   

    第一次用。你可以看msdn啊。况且,我就猜测你不会。所以,我帖的已经是可以运行的了。你复制过去就可以了啊。
      

  6.   

    我写的正则第一个能获得正确的 ,可是后面的怎么都是错误的呢?
    代码:string SourceCode = 源字符串
          string RegexString = 正则
                Regex r = new Regex(RegexString,RegexOptions.IgnoreCase);            Match m = r.Match(SourceCode);
                int matchCount = 0;
                while (m.Success)
                {
                    Group g = m.Groups[matchCount];
                    MessageBox.Show(g.Value);
                    matchCount++;
                }
    是什么原因呀??
      

  7.   


    string start = "开头";
    string end = "结束";
    string regExp = "(?<=" + start + ")" + "(?:.|\\n)*?" + "(?=" + end + ")";
    string result = System.Text.RegularExpressions.Regex.Match("开头测试,测试结束", regExp).Value;
    MessageBox.Show(result);
    结果:测试,测试
      

  8.   

    /********************************************************************************************/
    我写的正则第一个能获得正确的 ,可是后面的怎么都是错误的呢? 
    代码:string SourceCode = 源字符串 
          string RegexString = 正则 
                Regex r = new Regex(RegexString,RegexOptions.IgnoreCase);             Match m = r.Match(SourceCode); 
                int matchCount = 0; 
                while (m.Success) 
                { 
                    Group g = m.Groups[matchCount]; 
                    MessageBox.Show(g.Value); 
                    matchCount++; 
                } 
    是什么原因呀??/********************************************************************************************/你这帖的什么玩意啊。源字符串是什么????????正则是什么?????难道回复后才可以看到?