2016-12-16 97 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) –

相关问题