Regex, чтобы заменить весь матч - PullRequest
0 голосов
/ 08 января 2012

У меня есть это регулярное выражение в JavaScript:

var val = val.replace(/[":)"]/g, "<img src = \"/img/smile.png\" height = 24 width = 24>");

По сути, это регулярное выражение должно заменить :) изображением смайлика, однако оно помещает изображение смайлика на :или ) нет, когда оба находятся рядом друг с другом.

Как я должен адаптировать это регулярное выражение: /[":)"]/g, чтобы заменить, только если есть точное соответствие для :), а не только для одного?

Спасибо

1 Ответ

4 голосов
/ 08 января 2012

Теперь у вас есть класс символов, то есть он ищет совпадения с ", : или ) и заменяет его изображением.

Чтобы это исправить, ваше регулярное выражение должно быть /:\)/g:

var val = val.replace(/:\)/g, "<img src = \"/img/smile.png\" height = 24 width = 24>");
...