Visual Studio 2010 регулярные выражения для "Найти в файлах"

Я просмотрел множество постов stackru, касающихся регулярных выражений VS, и прочитал страницу Microsoft, касающуюся регулярных выражений, но все еще не могу определить, где я ошибаюсь.

Microsoft VS regex

Я хочу найти все строки, которые включают слово, атрибут, но не являются строками комментариев (не содержат символ //).

Я пытался использовать регулярное выражение

~(^ *//).*attribute.*

meaning:
~(^ *//)   --> exclude lines which begin with '//' preceded by zero or more spaces
.*         --> match any character zero or more times
attributes --> match the word attributes
.*         --> match any character that comes after the word attribute

Я пробовал несколько других регулярных выражений примерно с таким же количеством ошибок. Мне интересно, может ли кто-нибудь заметить что-то очевидное, чего я не делаю.

Я также дал ниже попробовать:

~( *//).*attribute.*  (thinking maybe the carat was being taken as a literal instead of special)

~(//).*attribute.* (thinking maybe the * was being taken as a literal instead of special)

~(//)attribute (imminent failure but will try anything)

\s*~(//).*attributes.*

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

введите описание изображения здесь

1 ответ

Как насчет этого.

^(?=.*attribute.*\n)(?!.*//).*
Другие вопросы по тегам