一键清除JavaScript代码中的注释:使用正则表达式实现

这个正则表达式可以有效地匹配 JavaScript 代码中的各种注释,并且跳过了以 http:https: 开头的链接。

js 复制代码
/\/\*[\s\S]*?\*\/|\/\/[^\n]*|<!--[\s\S]*?-->|(?<!http:|https:)\/\/[^\n]*/g

vscode 实战,ctrl+F 调出查找替换工具,点击后面的正则匹配,输入我们的代码,替换值为空,即可实现一键全部替换,可以看到黄色部分就是匹配到的注释行,非常 nice

正则表达式解析:

  • 1 . \/\*[\s\S]*?\*\/ :匹配多行注释,包括 /* 开头和 */ 结尾之间的任何字符(包括换行符)。 [\s\S] 匹配任何字符, *? 表示非贪婪匹配,尽可能少地匹配字符。

  • 2 . \/\/[^\n]* :匹配单行注释,即以 // 开头的注释内容。 [^\n]* 匹配除换行符之外的任何字符。

  • 3 . <!--[\s\S]*?--> :匹配 HTML 注释,即 <!-- 开头和 --> 结尾之间的任何字符(包括换行符)。

  • 4 . (?<!http:|https:)\/\/[^\n]* :匹配单行注释,并且跳过以 http:https: 开头的链接。 (?<!http:|https:) 是一个负向零宽断言,用于确保 // 前面不是 http:https:

末尾的 /g 是指全局匹配(global match )标志,表示在目标字符串中查找所有匹配的子字符串,而不仅仅是第一个匹配项。如果不使用 /g 标志,那么正则表达式将只会匹配目标字符串中的第一个匹配项,并在找到第一个匹配项后停止搜索。

相关推荐
雨中飘荡的记忆4 小时前
正则表达式入门到实战
正则表达式
长城20247 天前
HTML5中表单的pattern属性解析
前端·正则表达式·html·html5·pattern·pattern属性·pattern正则表达式
Gss7778 天前
Linux 正则表达式详解(基础 + 扩展 + 实操)
linux·运维·正则表达式
黑客思维者8 天前
正则表达式(九)网络安全:检测SQL注入攻击 + 检测XSS跨站脚本 + 扫描敏感信息泄露 + 匹配暴力破解异常IP
sql·web安全·正则表达式
黎雁·泠崖8 天前
Java常用类核心详解(七):正则表达式 Regex 从入门到实战
java·开发语言·正则表达式
秀儿还能再秀8 天前
正则表达式核心语法 + Python的 re 库中常用方法
python·正则表达式
xcLeigh8 天前
Python入门:Python3 正则表达式全面学习教程
python·学习·正则表达式·教程·python3
数据知道8 天前
MongoDB 正则表达式查询:在 MongoDB 中实现模糊搜索与索引优化陷阱
数据库·mongodb·正则表达式
A懿轩A8 天前
【Java 基础编程】Java 正则表达式实战:Pattern/Matcher、元字符与常用正则,验证与提取必备
java·开发语言·正则表达式
石牌桥网管8 天前
正则表达式:匹配不包含指定字符串的文本
java·javascript·python·正则表达式·go·php