原字符串:
var str="ul {width: 200px; height:300px;}";
过滤后的字符串:
var str='ul{width:200px;height:300px}';
怎么通过正则 过滤??
我想到的一种方式是:
str.replace(/(w*) |(:) |(;) /,"$1");
可得到的结果却成了这样:
var str='ul{width200px;height300px;}';
:分号被吃掉了....
怎么才能实现这样的过滤??
换个思路,先过滤掉所有的空格,然后再过滤掉}之前的;
str.replace(/s+/g,"").replace(/;}$/,"}")
要一步到位的话,这样str.replace(/(s+)|(;(?=}$))/g,"")
看楼上评论,这个应该能满足题主要求str.replace(/(s+(?={))|B(s+)|(;(?=}$))/g,"")
答案来自评论区大神ggsoul
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。