/(<table[^>]+?id=\"ID_TAB1\".*?<\/table>)/is

解决方案 »

  1.   

    非常感谢,你帮我看一下/(<table id=\"ID_TAB1\"(.*\n+.*)+[^table]{1})/i为什么会把下面的表格一起匹配呢?
      

  2.   

    不需要正则的
    alert(document.getElementById('ID_TAB1').outerHTML);
    这样就可以了O.o
      

  3.   

    [^table]匹配不包含t,a,b,l,e的字符O.o
      

  4.   

    那放在php怎么用alert(document.getElementById('ID_TAB1').outerHTML);?
      

  5.   

    因为这个模式根本不是你想要的1:(.*\n+.*)+     这个部分没有必要,既然有了.*就已经匹配到字符结尾了
    2:[^table]       你的意思可能是“后面不是 table”,但是大错了 ,这里表示后面只要不是t,a,b,l,e中的任意一个字符,都可以匹配。记住,中括号里的只是一个字符(加上^就是否定了),并非一个“字符组”。
    3.既然2已经错了,这个重复{1}已经没什么意义了。要想十分清楚,建议系统的看看regex吧。说实话,你这个正则我都基本没办法理解,大致是以上三条。
      

  6.   

    ocument.getElementById('ID_TAB1').outerHTML 是js的方法,很值得考虑。
      

  7.   

    [^table]匹配不包含t,a,b,l,e的字符O.o那如果想匹配table这个字符串怎么表示?
      

  8.   

    想匹配table,就 /table/行了
      

  9.   

    太感谢你们的赐教了!
    regex是类还是教程什么的?我很想学好正则。。
    document.getElementById('ID_TAB1').outerHTML是很好,但是怎么样用在php文件里面呢,因为我读取不是本身这个文件。
      

  10.   

    [/table/]这样吗?我说的是在[]里面匹配一个字符串
      

  11.   

    regex是 regular expression的缩写,咱们中文叫正则。http://www.regular-expressions.info/是不错的网站。另外有本《精通正则表达式》的书,也不错。
      

  12.   

    []的作用不是放字符串的,是放“字符”的。当你放abc到[]里,其实就是说匹配a 或者 b 或者 c,
    类似(a|b|c)。[]里开头加^号,就是否定里面的。 [^abc]其实就是匹配任意一个字符,条件是只要它不是a,不是b,也不是c要说的太多了,建议还是看看资料。
      

  13.   

    那我要表示直到table怎么表示呢?回答完我这个问题就看资料:)