2016-12-16 4 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

왜 자바로 태그입니까? – byxor

+0

'** +'는 무엇을 의미합니까? 왜 regexp 리터럴 대신에'new RegExp'를 사용하고 있습니까? –

+0

@torazaburo 이것은 오타입니다. 별표의 \ infront를 추가하는 것을 잊어 버렸습니다. 당신은 내 코드에서 관찰 할 수 있습니다 : .... 위의 – subhash

답변

0

정규 표현식이 맞다고 가정하면 / 앞에 \을 붙이면됩니다.

당신은 최종 정규식과 같이 수 :

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

+0

나를 이길. : p를 사용하여 regexes를 확인하려면 https://regex101.com을 사용하고 javascript (https://regex101.com/r/MCZjVG/1)를 사용하고 있는지 확인하십시오. –