var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre.*?<\/pre>/gm );
alert(arr); // null
我希望 PRE 块被拾起,即使它跨越了换行字符。我还以为“ m”旗就够了。没有。
发帖前找到了答案 给你。由于我认为自己了解 JavaScript (阅读三本书,工作时间长) ,而且 SO 没有现成的解决方案,所以我还是敢于发表文章。在这里扔石头
所以解决办法是:
var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre[\s\S]*?<\/pre>/gm );
alert(arr); // <pre>...</pre> :)
有没有不那么神秘的方法?
编辑: 这个是一个复制品,但因为它比我的更难找到,我不删除。
它提出 [^]
作为一个“多行点”。我仍然不明白的是为什么 [.\n]
不工作。我猜这就是 JavaScript 的悲哀之一。.