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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д