为了账号安全,请及时绑定邮箱和手机立即绑定

使用 JavaScript 从 SQL 查询字符串中删除注释的正则表达式

使用 JavaScript 从 SQL 查询字符串中删除注释的正则表达式

MMTTMM 2021-10-07 10:47:01
我设法找到了用于处理 /* */ 案例的正则表达式,但它不适用于 -- 案例。如何更改我的正则表达式来解决这个问题?var s = `SELECT * FROM TABLE_A/* first line of comment   second line of comment */   -- remove this comment too   SELECT * FROM TABLE_B`;var stringWithoutComments = s.replace(/(\/\*[^*]*\*\/)|(\/\/[^*]*)|(--[^*]*)/g, '');/*Expected:SELECT * FROM TABLE_ASELECT * FROM TABLE_B*/console.log(stringWithoutComments);谢谢https://jsfiddle.net/8fuz7sxd/1/
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

var s = `SELECT * FROM TABLE_A

/* first line of comment

   second line of comment */

   -- remove this comment too

   SELECT * FROM TABLE_B`;


var stringWithoutComments = s.replace(/(\/\*[^*]*\*\/)|(\/\/[^*]*)|(--[^.].*)/gm, '');

/*

Expected:


SELECT * FROM TABLE_A

SELECT * FROM TABLE_B

*/

console.log(stringWithoutComments);


// without linebreak

stringWithoutComments = stringWithoutComments.replace(/^\s*\n/gm, "")

console.log(stringWithoutComments);



// without whitespace

stringWithoutComments = stringWithoutComments.replace(/^\s+/gm, "")

console.log(stringWithoutComments);


查看完整回答
反对 回复 2021-10-07
  • 1 回答
  • 0 关注
  • 248 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信