Мне необходимо
- найти определенные строки в моей кодовой базе и
- отображать результаты в Visual Studio «Найти результаты».
Для этого и предназначено окно поиска «Найти в файлах», верно?
Однако загвоздка в том, что мне нужно применить несколько регулярных выражений, чтобы найти "проблемные" строки, например, мне нужны все строки, которые соответствуют регулярному выражению A, но не соответствуют регулярным выражениям B и C.
Что я пробовал:
Я подумал о поиске A, экспорте результата в файл, а затем
grep
/findstr
-сопоставлении его с B и C, но потом я потерять возможность видеть результаты в окне «Найти результаты» Visual Studio (что мне нужно, потому что я хочу щелкнуть строку и исследовать каждое совпадение дальше).Регулярные выражения A, B и C достаточно сложны, чтобы я не мог объединить их в одно выражение. Вы можете попробовать (напишите мне в комментариях), но даже если это решит мою текущую проблему, меня интересует общее решение для следующего раза, когда у меня возникнет эта проблема.
Пока единственный обходной путь, который я могу придумать, — это использовать «Заменить в файлах», чтобы аннотировать строки, соответствующие A, а затем снова использовать «Заменить в файлах», чтобы удалить аннотацию. из строк, соответствующих B и C, но мне было интересно, есть ли более элегантное решение, которое я пропустил...
(?!B)(?!C)A
(очевидно, в псевдокоде). - person Jan   schedule 17.07.2019