var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre.*?<\/pre>/gm );
alert(arr); // null
我希望前置块被选中,即使它跨越了换行符.我以为是"m"旗干的.没有.
在发布前找到答案here.既然我以为我懂JavaScript(读了三本书,工作了几个小时),而且现在还没有一个现成的解决方案,我还是敢发帖.throw stones here
因此,解决方案是:
var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre[\s\S]*?<\/pre>/gm );
alert(arr); // <pre>...</pre> :)
有没有人有一种不那么神秘的方式?
编辑:this是一个副本,但因为它比我的更难找到,我没有删除.
它建议将[^]
作为"多行点".我仍然不明白的是为什么[.\n]
不管用.我猜这是JavaScript最令人难过的部分之一.