Regex найти все символы слова не в однострочном комментарии - PullRequest
0 голосов
/ 01 февраля 2020

Товарищи по кодированию!

Мне нужен способ, чтобы регулярные выражения распознавали все \w слова, которые НЕ находятся внутри однострочного комментария.

В моем случае я использую Asciido c, а однострочные комментарии начинаются с // в начале строки.

Чтобы попытаться это выяснить, я использую regex101.com со вкусом PHP регулярное выражение.

Пример текста, который я использую:

foo bar baz
//bla ble blu
// mee maa moo

Мне нужно регулярное выражение для возврата: f,o,o,b,a,r,b,a,z и игнорировать все остальное.

Я подумал, что должен я работаю со взглядами и взглядами, но точная формулировка ускользает от меня.

Лучшее, что я мог придумать, было (?<!^\/\/.*)\w, однако, оно не соответствует всем нужным мне символам.

Есть идеи?

1 Ответ

0 голосов
/ 04 февраля 2020

Вы можете использовать вид сзади с шаблоном, который соответствует строке неизвестной длины в VSCode, поскольку его функция поиска и замены основана на современном стандарте ECMAScript (см. эту тему ).

Используйте

(?<!^//.*?)\w

См. regex demo .

Подробности

  • (?<!^//.*?) - отрицательный взгляд сзади, гарантирующий отсутствие // в начале строки с последующими 0 или более символами, кроме символов разрыва строки, как можно меньше, вплоть до ближайшего ...
  • \w - соответствует букве, ди git или _.

Тест в VSCode:

enter image description here

...