<!--begin-->
<a href="" target=_blank><font color=#000000>中嗯</font></a>
jhwengwsdgwenydhasdh
中嗯
2354235en;;/w;,.;
<!--end-->
我想匹配类似]<!--begin--><!--end-->当中的内容的时候.我发现一个问题不知道是什么原因我把$pattern='/<!--begin-->([.\n]+)<!--end-->/';
为什么这样无法匹配 只要.加了[]就是无法 是函数原因还是php里的正则表达式不一样然后我上网找了一下 这样就可以匹配  为什么嗯
$pattern='/<!--begin-->(.+)<!--end-->/s';请高手详细说明这其中的原因 至少让我清楚下 为什么是这样的 有什么参考文献或资料说明的不PHP

解决方案 »

  1.   

    任意字符不是[.\n]+吗?? 
    ==============================
    . 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。 
    ================================
      

  2.   

    你理解错了,[.\n]是匹配不到包括 '\n' 在内的任何字符的。
    上面说了。.在[]里面就表示 . 这个字符。 
     要匹配包括 '\n' 在内的任何字符串。借助模式修正符的功能。即s  它表示将多行视为单行处理。且换行符作为普通字符。
    就是第二个正则表达式