2015-08-26 3 views
-1

По какой-то причине это:Matching буквальные специальные символы в JavaScript регулярное выражение

RegExp('\*').test($var) 

дает следующее сообщение об ошибке:

SyntaxError: Invalid regular expression: /*/: Nothing to repeat 

Похоже, что двигатель не нравится, как я спасся особый характер. Разве это не правильный способ побега?

ответ

3

Вы пытаетесь сопоставить буквенную звездочку, но на самом деле вы применяете квантификатор * в начале строки, так как в вашем регулярном выражении есть только одна косая черта, которой недостаточно, чтобы избежать звездочки для механизма регулярных выражений.

Использование

/\*/.test($var); 

Или

RegExp('\\*').test($var) 

Однако буквальное обозначение является предпочтительным, так как вы не строите шаблон регулярного выражения динамически (то есть картина известна во время разработки).

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