Regexp. Получение всех элементов Enum - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Очень нужна помощь в составлении регулярного выражения по такому условию. Есть ТЕКСТОВЫЙ ФАЙЛ вида
...
enum eModeIndex
{
    eIndex1lala = 1,
    eIndex2lulu,
    eIndex3aa,
    eIndex4rr,
    eIndex546d,
}
...
т.е. это обычный код Enum-a C# Мне необходимо чтобы Regex вернул массив отдельных элементов enum и всё. То есть eIndex1lala, eIndex2lulu, eIndex3aa, eIndex4rr, eIndex546d. Их количество может быть различным (не обязательно 5). Помогите пожалуйста! Заранее спасибо!

Решение задачи: «Regexp. Получение всех элементов Enum»

textual
Листинг программы
string str = @"enum eModeIndex
{
eIndex1lala = 1,
eIndex2lulu,
eIndex3aa,
eIndex4rr,
eIndex546d,
}";
string pattern = @"(?s)\benum\b.+\{(.+)\}";
// Значения перечислений (то, что в скобках).
string enumeration = Regex.Match(str, pattern).Groups[1].Value;
pattern = @"(?m)^\s*(\w+)";
List<string> values = new List<string>();
foreach (Match match in Regex.Matches(enumeration, pattern))
{
    // Разбиваем уже по значениям.
    values.Add(match.Groups[1].Value);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы