一键清除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 标志,那么正则表达式将只会匹配目标字符串中的第一个匹配项,并在找到第一个匹配项后停止搜索。

相关推荐
问道飞鱼16 小时前
【知识科普】认识正则表达式
数据库·mysql·正则表达式
我码玄黄1 天前
正则表达式优化之算法和效率优化
前端·javascript·算法·正则表达式
Java编程乐园1 天前
Java中以某字符串开头且忽略大小写字母如何实现【正则表达式(Regex)】
java·正则表达式
好学近乎知o1 天前
正则表达式(学习Django过程中可能涉及的)
学习·正则表达式·django
SunnyRivers3 天前
基础爬虫案例实战
正则表达式·爬虫实战·多进程·requests
西洼工作室4 天前
【java 正则表达式 笔记】
java·笔记·正则表达式
kiss strong5 天前
正则表达式
正则表达式
Linux运维技术栈5 天前
Python字符串及正则表达式(十一):正则表达式、使用re模块实现正则表达式操作
开发语言·python·正则表达式
jackiendsc5 天前
Java中正则表达式的介绍、使用场景及示例代码
java·开发语言·正则表达式
taller_20005 天前
VBA之正则表达式(48)-- 快速拆分中文语句
正则表达式·正则·拆分中文·中文拆分·中文标点