Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Поиск в коде с исп. рег. выражений. Добавлено: 22.06.07 13:14  

Автор вопроса:  Anatoliy
Собственно вопрос.
В 7 - й и выше студии есть возможность поиска по коду проекта с использованием регулярных выражений.
Подскажите, пожалуйста. Как с помощью регулярного выражения отличить закомментированную строку (начинается с нескольких пробелов или табов + апостроф) от незакоментированной.
Реально задача сложнее. Но грабли начались с вышеприведенного вопроса.

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 22.06.07 14:11
^\s*' если брать не singleline, вроде бы

Ответить

Номер ответа: 2
Автор ответа:
 Anatoliy



Вопросов: 7
Ответов: 10
 Профиль | | #2 Добавлено: 22.06.07 18:06
Если упростить задачу, то необходимо составить регулярное выражение, которое бы из двух строк:
    ;Dim x As Integer
    'Dim y As Integer
 
Нашло бы первую (незакомментированную) и проигнорировало бы вторую (закомментированную).
Искать необходимо не в рантайме, а при редактировании кода в студии (Ctrl+F в диалоговом окне параметров поиска включаем галочку "Use", в комбобоксе чуть ниже быбираем "Regular expression";)

Привожу пару вариантов, которые пытался применить:
^([^\s*'])(.*)Integer находит обе строки
^(?!\s*')(.*)Integer не находит ничего
Ну и множество вариаций подобных приведенным примерам. Результат никакой.

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 23.06.07 17:45
Не знаю, чего ты пытался добиться первым регекспом, но второй у меня в Regex Builder нормально находит первую строку

Ответить

Номер ответа: 4
Автор ответа:
 W[4Fh]LF



Вопросов: 0
Ответов: 187
 Web-сайт: hunger.ru
 Профиль | | #4
Добавлено: 24.06.07 09:21
^[^']+Integer

Тестировал в 2003 студии.

Ответить

Номер ответа: 5
Автор ответа:
 W[4Fh]LF



Вопросов: 0
Ответов: 187
 Web-сайт: hunger.ru
 Профиль | | #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-сайт: sharpc.livejournal.com
 Профиль | | #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
не за что =)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам