小弟刚接触正则,望高手帮忙<TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=23 align=center class=sfbg1 border=0><TBODY><TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=25 align=center class=sfbg1 border=0><TBODY><TR Class=sfbg3>
<TD class="font_R11" vAlign="middle" align="center" width="92%"><strong>↓2008年/4月/8日/情况↓</STROONG></FONT><TD vAlign="middle" align="center" width="8%"><A href="#"><IMG src="Images/Top.gif" border="0"></A>
</TD></TR></TBODY></TABLE>请问一下,要用正则表达式如何来匹配这个字符串,其中只有   2008年/4月/8日/情况 这几个是动态变的

解决方案 »

  1.   

    "<strong>[\s\S]*?</strong>"
      

  2.   

    string myStr=System.Text.RegularExpressions.Regex.Replace("你的html字符串", ".*<strong>([^>].+)?</strong>.*", "$1", System.Text.RegularExpressions.RegexOptions.Singleline | System.Text.RegularExpressions.RegexOptions.IgnoreCase);myStr即为所求(原理这样没调试 不行告我一声 )
      

  3.   

    匹配的字符串是这个
    <TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=23 align=center class=sfbg1 border=0> <TBODY> <TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=25 align=center class=sfbg1 border=0> <TBODY> <TR Class=sfbg3> 
    <TD class="font_R11" vAlign="middle" align="center" width="92%"> <strong>↓2008年/4月/8日/情况↓ </STROONG> </FONT> <TD vAlign="middle" align="center" width="8%"> <A href="#"> <IMG src="Images/Top.gif" border="0"> </A> 
    </TD> </TR> </TBODY> </TABLE> 
      

  4.   

    我就是想从网页文件中匹配出这个字符串出来,而不是<strong></strong>中间的字符
    <TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=23 align=center class=sfbg1 border=0>  <TBODY>  <TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=25 align=center class=sfbg1 border=0>  <TBODY>  <TR Class=sfbg3>  
    <TD class="font_R11" vAlign="middle" align="center" width="92%">  <strong>↓2008年/4月/8日/情况↓  </STROONG>  </FONT>  <TD vAlign="middle" align="center" width="8%">  <A href="#">  <IMG src="Images/Top.gif" border="0">  </A>  
    </TD>  </TR>  </TBODY>  </TABLE> 
      

  5.   

    private Regex regexPage = new Regex(@"<TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=23 align=center class=sfbg1 border=0> " + 
    @"[\r\n]{0,2}<TBODY>[\r\n]{0,2}<TABLE align='center' background='images/tittle_3.jpg' cellSpacing=1 cellPadding=3 width=1002 height=25 align=center class=sfbg1 border=0> <TBODY> <TR Class=sfbg3><TD class=""font_R11"" vAlign=""middle"" align=""center"" width=""92%""> <strong>(?<content>[^<]*)</STROONG> </FONT> <TD vAlign=""middle"" align=""center"" width=""8%""> <A href=""#""> <IMG src=""Images/Top.gif"" border=""0""> </A></TD> </TR> </TBODY> </TABLE> ", RegexOptions.Compiled);原理很简单,把你所有需要匹配的copy进来,把动态的地方用(?<content>[^<]*)这样的组来代替,
    在可能换行的地方加上[\r\n]{0,2},把"改成"",基本就没问题,上面的我只写了一部分,
    还需要把所有换行加上去,自己完善测试下
      

  6.   

    (?#table开始)<table(?#直到table标签结束)[^>]*>(?#非贪婪匹配,如果有换行,应使用单行匹配模式).*?(?#table标签闭合)</table>
      

  7.   

    (? <=↓)\w.*(?=↓)
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  8.   

     private string lblSubstr(string strVal, int len)
        {
            string result = "";        string strDecode = System.Text.RegularExpressions.Regex.Replace(strVal, "<[^>]+>", "");        if (strDecode != null && strDecode.Length > len)
            {
                result = strDecode.Substring(0, len);
            }
            else
            {
                result = strDecode;
            }        return result;
        }
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  9.   

    正则 : ↓.*↓调用 ↓(.*?)↓使用 
     group[1] 即 所要的值 .
      

  10.   

    试过了 我上面那个匹配strong之间的字符是可以的如果想匹配那一大段字符 也不难啊 把正则表达式(即replace的第二个参数)写为你的那个长长的html 其中<strong></strong>中间的部分用 [^<].* 代替 即 .*(你那一长段html字符前一部分<string>[^<].*</strong>你那一长段html字符后一部分)?.*
      

  11.   

    哦 中间那句"."是多余的
    <string>[^ <]* </strong>