最近项目需要,要弄个正则表达式获取body的内容。
用过就知道,很多时候要写指令时引用的时候。的内容root是不能包含多个节点的,否则就报错。
这样的规范很不好,很多时候还是想保留的头,文档类型,css等信息。
所以在开发模式下,希望加载模板的时候,自动砍掉头部和尾部.
获取之前:
内容
希望的结果:
所以正则表达式如下:
var REG_BODY = /]*>([sS]*)/;
function getBody(content){
var result = REG_BODY.exec(content);
if(result && result.length === 2)
return result[1];
return content;
}
这里遇到了个问题,match和exec的区别:
match是返回所有匹配的字符串合成的数组,但是正则表达式必须指定全局g属性才能返回所有匹配,不指定g属性则会返回一个只有一个元素的数组。
exec永远返回与第一个匹配相关的信息,其返回数组包括第一个匹配的字串,所有分组的反向引用。
开始的时候,正则表达式后面我加了g,使用了match,死活获取不到括号内的内容,莫名其妙,后面搜了match exec。我去,这两个基友的区别真大!都怪当时看权威指南的时候太傲,忽略了细节。以后绝对要细心。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666
声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!