Замените строку на перевод строки в начале строки с помощью регулярного выражения в коде Visual Studio - PullRequest
1 голос
/ 03 апреля 2020

В Visual Studio Code я хотел бы заменить во всех файлах проекта все инструкции log.info, НЕ равные:

log.info(
                `DEBUG other strings...
);

ничем (я хочу удалить их во всех файлы); например, этот log.info должен быть удален:

log.info(
                `remove this instruction!!!
);

, но не это (в нем DEBUG есть первое слово):

log.info(
                `DEBUG other strings...
);

Обратите внимание, log.info () также может быть в одной строке, например:

log.info(`remove this instruction!!!);<br>
log.info(`DEBUG other strings...);<br>

Я пробовал это без результата:

log.(info|warn|error)\([\n|\s]`*(?!DEBUG).*\)

1 Ответ

0 голосов
/ 03 апреля 2020

Вы можете использовать

\blog\.(?:info|warn|error)\((?!\s*`DEBUG\b)[\w\W]*?\);

См. Демоверсию regex .

Подробности

  • \b - граница слова
  • log\. - log. строка
  • (?:info|warn|error) - либо info, warn или error
  • \( - a ( char
  • (?!\s* DEBUG \ b) - a negative lookahead that fails the match if, immediately to the right of the current location, there is 0+ whitespaces, a backtick, DEBUG` как целое слово
  • [\w\W]*? - любые 0 или более символов, как можно меньше
  • \); - подстрока );.

Проверка и настройки:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...