регулярное выражение для добавления префиксов в классы верстки
Всем привет!
Необходимо в текстовом редакторе vscode с помощью регулярных выражений преобразовать строку вида:
class="dab alfa beta gamma-new delta"
в строку:
class="pre-dab pre-alfa pre-beta pre-gamma-new pre-delta"
Сам смог добиться только таких результатов:
class="([^\s]+)(( [^\s]*)*)"
заменяю строкой:
class="pre-$1 pre-$2"
Но результат не тот.
Что я делаю не так?
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
Используйте
Найти: (?<=class="[^"]*?)[^\s"]+(?=[^"]*")
Заменить: pre-$0
Подробности
(?<=class="[^"]*?)- блок предварительного просмотра назад, требующий наличия подстрокиclass=", потом 0 и более символов, отличных от", как можно меньше, сразу перед текущей позицией в строке[^\s"]+- один и более символов, отличных от пробельных символов и двойной кавычки(?=[^"]*")- блок предварительного просмотра вперёд, требующий наличия 0 и более символов, отличных от", а затем"сразу после текущей позиции в строке.
$0 – обратная ссылка на целый текст совпадения.
Пример:
Результат:
class="pre-dab pre-alfa pre-beta pre-gamma-new pre-delta"
