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條經驗 獲得超22個贊
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);
添加回答
舉報
0/150
提交
取消