2016-05-05 5 views
0

Я пытаюсь использовать глобальный модификатор, чтобы заменить все экземпляры ниже, но я продолжаю получать ошибкиНеожиданный маркер ошибка в RegEx

Функция

var chosenParticipants = newParticipants.replace(/<i class="fa fa-minus"></i></span>/g,'</strong>'); 

Ошибка

Uncaught SyntaxError: Unexpected token <

+1

Вы можете часто решать подобные проблемы самостоятельно различными методами отладки. Тот, который может хорошо работать здесь, - «делить и побеждать» или «делить пополам». Введите regxp в консоль и посмотрите, что такое ошибка. затем удалите материал из регулярного выражения до тех пор, пока ошибка не исчезнет. Последнее, что вы удалили, будет причиной ошибки. В этом случае ошибка исчезнет, ​​когда вы удалите '/' в ''. Надеюсь, это даст вам подсказку или пробежку в вашей памяти о необходимости избегать косых черт. –

+1

В более общем плане, подумал, не рекомендуется манипулировать HTML с помощью регулярных выражений. Существует хорошая вероятность того, что вы нарушите HTML-код, или regexp будет применяться там, где вы не ожидали, или подход регулярного выражения будет трудно расширить. Вместо этого используйте различные процедуры DOM, доступные для управления HTML. –

ответ

3

Слэши в регулярном выражении должны быть экранированы обратными косыми чертами, иначе литерал регулярного выражения будет завершен ated при первом вхождении / и ошибка будет выброшена.

newParticipants.replace(/<i class="fa fa-minus"><\/i><\/span>/g, '</strong>'); 
               ^^ ^^ 
Смежные вопросы