正则表达式多行匹配

JiexC0la 2020-06-22 05:53:01
js文件里有一段代码,如何通过一个正则表达式,删掉注释A或者注释B里的内容。
function test() {
/** A-begin */
console.log('A');
/** A-end */

/** B-begin */
console.log('B');
/** B-end */
}

期望结果:
function test() {
/** A-begin */
console.log('A');
/** A-end */
}

...全文
2146 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2020-06-23
  • 打赏
  • 举报
回复
/(\/\*\* 3D-ext-begin \*\/)(\s|\S)+?(\/\*\* 3D-ext-end \*\/)/g
JiexC0la 2020-06-23
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
str.replace(/\/\*\* B-begin[\S\s]*B-end \*\//g,"")
注释嵌套了不行,比如 var str = `function test() { /** B-begin */ console.log('B'); /** B-end */ /** A-begin */ console.log('A'); /** A-end */ /** B-begin */ console.log('B'); /** B-end */ }`, 我想通过一个shell命令,打包的时候删掉部分无用的代码。 初始代码: export default { methods: { setLocate() { /** 3D-ext-begin */ console.log('setLocate 3D'); /** 3D-ext-end */ /** 2D-ext-begin */ console.log('setLocate 2D'); /** 2D-ext-end */ }, resetView() { /** 3D-ext-begin */ console.log('resetView 3D'); /** 3D-ext-end */ }, clearMark() { /** 3D-ext-begin */ console.log('clearMark 3D'); /** 3D-ext-end */ /** 2D-ext-begin */ console.log('clearMark 2D'); /** 2D-ext-end */ } } }, 我自己写的正则表达式(引的是shelljs插件): sed("-i", /^(\/\*\* 3D-ext-begin \*\/)(\s|\S)+(\/\*\* 3D-ext-end \*\/)$/g, ""),执行是时候没有生效,求指点下这个正则怎么写
JiexC0la 2020-06-23
  • 打赏
  • 举报
回复
引用 4 楼 天际的海浪 的回复:
/(\/\*\* 3D-ext-begin \*\/)(\s|\S)+?(\/\*\* 3D-ext-end \*\/)/g
谢谢
天际的海浪 2020-06-22
  • 打赏
  • 举报
回复
str.replace(/\/\*\* B-begin[\S\s]*B-end \*\//g,"")

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧