Страница: 1 |
Страница: 1 |
Вопрос: Поиск в коде с исп. рег. выражений.
Добавлено: 22.06.07 13:14
Автор вопроса: Anatoliy
Собственно вопрос.
В 7 - й и выше студии есть возможность поиска по коду проекта с использованием регулярных выражений.
Подскажите, пожалуйста. Как с помощью регулярного выражения отличить закомментированную строку (начинается с нескольких пробелов или табов + апостроф) от незакоментированной.
Реально задача сложнее. Но грабли начались с вышеприведенного вопроса.
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 22.06.07 14:11
^\s*' если брать не singleline, вроде бы
Номер ответа: 2
Автор ответа:
Anatoliy
Вопросов: 7
Ответов: 10
Профиль | | #2
Добавлено: 22.06.07 18:06
Если упростить задачу, то необходимо составить регулярное выражение, которое бы из двух строк:
 im x As Integer
'Dim y As Integer
Нашло бы первую (незакомментированную) и проигнорировало бы вторую (закомментированную).
Искать необходимо не в рантайме, а при редактировании кода в студии (Ctrl+F в диалоговом окне параметров поиска включаем галочку "Use", в комбобоксе чуть ниже быбираем "Regular expression"
Привожу пару вариантов, которые пытался применить:
^([^\s*'])(.*)Integer находит обе строки
^(?!\s*')(.*)Integer не находит ничего
Ну и множество вариаций подобных приведенным примерам. Результат никакой.
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 23.06.07 17:45
Не знаю, чего ты пытался добиться первым регекспом, но второй у меня в Regex Builder нормально находит первую строку
Номер ответа: 4
Автор ответа:
W[4Fh]LF
Вопросов: 0
Ответов: 187
Web-сайт:
Профиль | | #4
Добавлено: 24.06.07 09:21
^[^']+Integer
Тестировал в 2003 студии.
Номер ответа: 5
Автор ответа:
W[4Fh]LF
Вопросов: 0
Ответов: 187
Web-сайт:
Профиль | | #5
Добавлено: 24.06.07 09:23
Ну если комментарии после объявления переменной тоже учесть напдо, то
^[^']+Integer(.*)[^\n]
Номер ответа: 6
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #6
Добавлено: 24.06.07 10:48
охх.. Там есть минимальные квантификаторы? Тогда
.*?'
Номер ответа: 7
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #7
Добавлено: 24.06.07 18:15
минимальные значит нежадные?
Топикстартеру следует лучше сформулировать задачу.
Номер ответа: 8
Автор ответа:
Anatoliy
Вопросов: 7
Ответов: 10
Профиль | | #8
Добавлено: 25.06.07 10:17
Собственно варианты
^[^']+Integer
или
^[:b]*[^']*Integer
Решили мою задачу. Спасибо за советы.
Номер ответа: 9
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #9
Добавлено: 28.06.07 00:40
не за что