以前用正则写的去除 PHP 代码中所有注释,感觉用在 js 上问题不大。支持去除 # ...、// ...、/* ... */ 三种注释识别 '...'、"..."、`...` 、<<<EOF 四种字符串,及内部的 \ 转义符js 代码s = `$a = \` \\\` # alert() 字符串一 \`; # 注释一 $b = 'xxx\\'//xxx 字符串二'; // 注释二 $c = /* 注释三 */ "xxx \\" /*字符串三*/ yyy \\" /*字符串四*/"; $d = <<<END // 字符串五 # 字符串六 /* 字符串七 */ END;` s.replace(/((['"`])(?:\\?.)*?\2|<<<(.*?$).*?\3)|(?:\/\/|#).*?$|\/\*.*?\*\//gms, '$1');结果 $a = ` \` # alert() 字符串一 - `; # 注释一 + `; - $b = 'xxx\'//xxx 字符串二'; // 注释二 + $b = 'xxx\'//xxx 字符串二'; - $c = /* - 注释三 */ "xxx \" /*字符串三*/ yyy \" /*字符串四*/"; + $c = "xxx \" /*字符串三*/ yyy \" /*字符串四*/"; $d = <<<END // 字符串五 # 字符串六 /* 字符串七 */ END;
以前用正则写的去除
PHP
代码中所有注释,感觉用在js
上问题不大。支持
# ...
、// ...
、/* ... */
三种注释'...'
、"..."
、`...`
、<<<EOF
四种字符串,及内部的\
转义符js
代码结果