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 的可悲部分之一。