Получение разных подгрупп из регулярного выражения - C#

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

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

Доброе время суток! Есть такие строки: 1. Бла-бла бла бла. Блалала лалсс бла бал. 1.5. Бла бал бабаалба. 1.6. Бла лдаслдладлса. Блалала лба бла. Я разбиваю сплитом этот текст на отдельные строки и анализирую каждую строку отдельно. Так вот в строке мне надо выделить три важные для меня вещи - первый номер (число до первой точки), если есть второе число (до второй точки) и текст идущий после. Собрал вот такую маску:
int firstNumber;
int secondOptionalNamber;
string paragraphText; 
Regex regex = new Regex(@"(\d+)\.(?:(\d+)\.)?\s(.+)");
Match match = regex.Match(text);
По идее у меня должны получится 3 подгруппы

(\d+), (\d+) и (.+)

Как в C# вывести эти подгруппы? To есть как эти подгруппы вставить в переменные?
firstNumber =
secondOptionalNamber =
paragraphText =
?

Решение задачи: «Получение разных подгрупп из регулярного выражения»

textual
Листинг программы
var firstNumber = match.Groups[1];
var secondOptionalNamber = match.Groups[2];
var paragraphText = match.Groups[3];

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


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

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

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