2016-12-16 81 views
-1

我在javascript中構建新的RegExp(..)時出現錯誤Uncaught SyntaxError:無效的正則表達式:/(/ *([^ *] | [ r n] |(* +([^ * /] | [ r n])))** + /)| (//.*)/:無法重複

我的正則表達式是爲了消除代碼中的所有註釋。

Uncaught SyntaxError: Invalid regular expression: /(/*([^*]|[\r\n]|(*+([^*/]|[\r\n])))**+/)|(//.*)/: Nothing to repeat 

我的代碼是:

this.commentRegex = new RegExp('(/\*([^*]|[\\r\\n]|(\*+([^*/]|[\\r\\n])))*\*+/)|(//.*)', 'gi'); 

請讓我知道這個問題。

+1

這是爲什麼標記爲java嗎? – byxor

+0

** +應該是什麼意思?你爲什麼使用'new RegExp'而不是正則表達式? – 2016-12-16 14:02:22

+0

@torazaburo這是錯字錯誤忘了加一個\明星的前面。你可以觀察我的代碼是:....在上面的 – subhash

回答

0

假設你的正則表達式是正確的,你需要在/前加上\

你最後的正則表達式可能看起來像:

const regex = /(\/\*([^*]|[\\r\\n]|(\*+([^*\/]|[\\r\\n])))*\*+\/)|(\/\/.*)/g;

+0

打我吧。 :p檢查你的正則表達式,你可以使用:https://regex101.com,並確保你使用JavaScript(https://regex101.com/r/MCZjVG/1) –

相關問題