Russian Qt Forum
Сентябрь 30, 2024, 20:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите составить регулярное выражение  (Прочитано 2416 раз)
merke
Гость
« : Апрель 09, 2011, 06:49 »

Всем привет!

Необходимо пропарсить уйму VB кода и выдернуть из него необходимые данные. В регулярных выражениях пока нуб, а времени нет на их изучение.

Допустим имеются в коде строки вида:

function1(mydir + strmas.st1, goto.jopa, mydb.strBasa1 + \".db\", _
                                                      helloworld(i), helloo(i) + guns)
...
...
function2(mydir + strmas.st1, goto.jopa, mydb.strBasa2 + \".db\", _
                                                      helloworld(i), helloo(i) + guns)
...
...
function3(mydir + strmas.st1, goto.jopa, mydb.strBasa3 + \".DB\", _
                                                      helloworld(i), helloo(i) + guns)

Необходимо из этих функций выдрать Basa1, Basa2, Basa3 при условии, что в функции встречается ".db" или ".DB".
Также если функция function1, то составить такую строку Basa1:R
         если фукнция function2, то Basa2:W
         если фукнция function3, то Basa2:R


Буду очень рад помощи!!!

Записан
fuCtor
Гость
« Ответ #1 : Апрель 10, 2011, 09:02 »

Вот:
(func\w*\d*).*mydb.str([\w|\d]*)\s*\+\s*\\".(db|DB)
Получишь три группы, в первой имя функции, во второй база, в третьей расширение

PS RegexBuddy советую качнуть, очень удобный инструмент для отладки и написания регулярок.
Записан
merke
Гость
« Ответ #2 : Апрель 11, 2011, 03:48 »

Огромнейшее спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 21.