Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RegEx для функций VB 
V
    Опции темы
suic
  Дата 29.7.2009, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.5.2009

Репутация: нет
Всего: нет



Всем доброго времени суток.

Существует .vbs файл содержащий набор функций, на подобии вот такого примера:

Код

Function ReadSmth()
   'Function body
   'Some statements
End Function

Function WriteSmth()
   'Function body
   'Some statements
End Function


Моя цель вытащить из предоставленного файла:
  • Имена всех функций в файле
  • Каждую функцию целиком
Если с выборкой имен функций я разобрался, вот что получилось:
Код

public List<string> getFuncNames(string libPath)
        {
            MatchCollection funcName;
            List<string> names = new List<string>();

                    string str = File.OpenText(libPath).ReadToEnd();
                    funcName = Regex.Matches(str, @"^\s*Function\s+(.*?)[\(].+(\))", RegexOptions.IgnoreCase | RegexOptions.Multiline);

                    foreach (Match func in funcName)
                    {
                        names.Add(func.Groups[1].Value.Trim());
                    }
               
            return names;
        }


То с выборкой всех функций целиком - не могу. 

Подскажите патерн RegEx-па для выборки каждой функции полностью.. или хотя-бы его формат, направление...

Зарание спасибо.

Это сообщение отредактировал(а) suic - 30.7.2009, 00:40
PM MAIL   Вверх
suic
Дата 30.7.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.5.2009

Репутация: нет
Всего: нет



Ответ найден: 
Цитата
^\s*Function\s+(.?)\((.)\)([\s\S]*)^(\s*end\sFunction)


Данный патерн возвращает и тело функции и имя и ее параметры
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0895 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.