WEB开发网
开发学院网页设计JavaScript JS 正则去除'//'和'/* */'注释 阅读

JS 正则去除'//'和'/* */'注释

 2012-11-26 20:56:51 来源:WEB开发网   
核心提示:var reg = /("([^\\\"]*(\\.)?)*")|('([^\\\']*(\\.)?)*')|(\/{2,}.*?(\r|\n))|(\/\*(\n|.)*?\*\/)/g,// 正则表达式 str = $('event').h
var reg = /("([^\\\"]*(\\.)?)*")|('([^\\\']*(\\.)?)*')|(\/{2,}.*?(\r|\n))|(\/\*(\n|.)*?\*\/)/g,// 正则表达式
    str = $('event').html(); // 欲处理的文本
console.log(str); // 打印出:原文本
console.log(str.match(reg));// 打印出:匹配子串
str.replace(reg, function(word) { // 去除注释后的文本
    return /^\/{2,}/.test(word) || /^\/\*/.test(word) ? "" : word;
});

这个正则表达式,拥有4个子表达式:前两个是用来捕获" "和' '字符串,后两个分别用来选取\\和/* */注释。
最需要注意的是第4个子表达式:

(\/{2,}.*?(\r|\n))|(\/\*(\n|.)*?\*\/)

后面那个?号很关键,这个必须要用懒惰匹配,不然不能避免下图中的“干扰项2”。

Tags:JS 正则 去除

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接