Применение нескольких регулярных выражений к поиску в файлах Visual Studio

Мне необходимо

  1. найти определенные строки в моей кодовой базе и
  2. отображать результаты в Visual Studio «Найти результаты».

Для этого и предназначено окно поиска «Найти в файлах», верно?

Однако загвоздка в том, что мне нужно применить несколько регулярных выражений, чтобы найти "проблемные" строки, например, мне нужны все строки, которые соответствуют регулярному выражению A, но не соответствуют регулярным выражениям B и C.

Что я пробовал:

  • Я подумал о поиске A, экспорте результата в файл, а затем grep/findstr-сопоставлении его с B и C, но потом я потерять возможность видеть результаты в окне «Найти результаты» Visual Studio (что мне нужно, потому что я хочу щелкнуть строку и исследовать каждое совпадение дальше).

  • Регулярные выражения A, B и C достаточно сложны, чтобы я не мог объединить их в одно выражение. Вы можете попробовать (напишите мне в комментариях), но даже если это решит мою текущую проблему, меня интересует общее решение для следующего раза, когда у меня возникнет эта проблема.

Пока единственный обходной путь, который я могу придумать, — это использовать «Заменить в файлах», чтобы аннотировать строки, соответствующие A, а затем снова использовать «Заменить в файлах», чтобы удалить аннотацию. из строк, соответствующих B и C, но мне было интересно, есть ли более элегантное решение, которое я пропустил...


person Heinzi    schedule 17.07.2019    source источник
comment
Вы думали об обходах, sth. как (?!B)(?!C)A (очевидно, в псевдокоде).   -  person Jan    schedule 17.07.2019
comment
@Jan: Да, у меня есть, но я не смог найти универсальное решение этой проблемы. Это хороший вопрос, поэтому я задал для него новый вопрос.   -  person Heinzi    schedule 18.07.2019