Audes
@Audes

Поиск текста в кавычках?

Имеется небольшая регулярка, которая должна искать текст в кавчках и заключать в тэг. Но она не работает, хотя я много гуглил, и кажется, это должно работать.
replace(/['"][^"']*\1/g,'<span class="r">\'$1\'</span>')
  • Вопрос задан
  • 403 просмотра
Решения вопроса 1
mourr
@mourr
Passionate JS developer
var str='"hello"';
str.replace(/(["'])((?:(?!\1)[^\\]|(?:\\\\)*\\[^\\])*)\1/g,"<span>$2</span>");
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
\1 в первом аргументе ссылается на отсутствующий субпаттерн, $1 во втором аргументе тоже ни к чему не относится.
replace(/(['"])(.*?)\1/g,'<span class="r">\'$2\'</span>')
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
replace(/(['"])[^'"]*\1/g,'<span class="r">\'$1\'</span>')
replace(/('|")[^'"]*\1/g,'<span class="r">\'$1\'</span>')


чтобы обратиться к \1, его нужно оформить группировкой.
Можно было оставить (["']) или упростить до ("|')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы