2016-12-16 8 views
-1

Я получаю ошибку при создании нового RegExp (..) в javascriptUncaught 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

Что означает '** +'? Почему вы используете 'новый RegExp' вместо литерала регулярного выражения? –

+0

@torazaburo это ошибка typo забыл добавить один \ infront звезды. вы можете заметить в моем коде: .... в приведенном выше – subhash

ответ

0

Предполагая, что вы задаете правильное выражение, вам необходимо указать префикс / на \.

Вы окончательное регулярное выражение может выглядеть следующим образом:

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

+0

избили меня. : p для проверки ваших регулярных выражений, вы можете использовать: https://regex101.com и убедитесь, что используете javascript (https://regex101.com/r/MCZjVG/1) –

 Смежные вопросы

  • Нет связанных вопросов^_^