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> :)
谁有更简单的方法?
编辑:这是一个复制品,但因为它比我的更难找到,我没有删除。
它提出[^]作为“多行点”。我仍然不明白的是为什么…不工作。我猜这是JavaScript的一个可悲的部分。