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