javascript正则中使用[\s\S]*用来匹配任意字符(包括换行符)的方法不起作用

例如下面是匹配test.html页面中的body内容,如果不把内容中的换行符去掉,匹配不到内容。但如果用[\s\S]*的方法来匹配任意字符,在js里还不起作用。请问在js... 例如下面是匹配test.html页面中的body内容,如果不把内容中的换行符去掉,匹配不到内容。
但如果用[\s\S]*的方法来匹配任意字符,在js里还不起作用。
请问在js中有什么方法匹配任意字符,包括换行。

<script type="text/javascript">
// 需要引入jQuery
$.get("test.html",function(html){
//html = html.replace(/[\r\n]+/g,''); // 需要把换行符替换掉,下面的正则才能匹配到内容
var bodyPat = new RegExp('<body[^>]*>(.*?)<\/body>','i');
var matchArr = html.match(bodyPat);
console.dir(matchArr);
});
</script>
展开
 我来答
pieryon
2015-08-02 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166867
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
正则表达式可以用.*匹配任意除换行之外的字符。但如果内容中包含任意多个换行怎么匹配?用.*是匹配失败的。但可以用[\s\S]*?。
\s是匹配所有空白字符,\S是匹配所有非空白字符,那么[\s\S]这个组合就可以匹配所有字符了。
但是换行符是匹配不到的:

//-- 通过正则表达式来替换换行符
var regRN = /\r\n/g;
str = str.replace(regRN,"<br />");

//-- 其他场景(分别替换\r和\n)
var regR = /\r/g;
var regN = /\n/g;
str = str.replace(regR,"\\r").replace(regN,"\\n");
百度网友2571d37bb
2015-08-24 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部

用来匹配任意字符的,你完全可以不用[\s\S]的,直接用 '.' 就可以了!

var a = 'asdfsdfsdfsdfs\nasdfwefsadfasdfsdfsadfs';
var b = a.replace(/./g,'3');
alert(b);   //这样就可以了。
如果你想替换回车,可以用[\w\W] 或者[\s\S], 这个g是不可以省略的。
var a = 'asdfsdfsdfsdfs\nasdfwefsadfasdfsdfsadfs';
var b = a.replace(/[\w\W] /g,'3');
alert(b);   //这样就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaoapk
推荐于2017-09-26 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1606万
展开全部
var bodyPat = new RegExp('<body[^>]*>([\\s\\S]*?)<\\/body>','i');

new RegExp的时候用两个斜杠


如果没有字符串链接,直接用下面的

var bodyPat = /<body[^>]*>([\s\S]*?)<\/body>/i;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魏蕤
2013-08-02 · TA获得超过426个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:241万
展开全部
var bodyPat = new RegExp('<body[^>]*>(.*?)<\/body>','im');

试一下,其他不要该。

追问
不行的,添加多行修正符m也不行。
将(.*?)换成([\s\S]*?)也不行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友78303be10
2013-08-02 · TA获得超过107个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:162万
展开全部
需要用到单行模式,你百度一下,单行模式下面 .*号可以匹配换行符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式