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

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

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

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

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

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

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


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

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

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы