Повторяющиеся группы в регулярных выражениях - C#

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

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

Здравствуйте, у меня есть текст вот такого вида:
<h2 class="sim">Примеры:</h2><p><span
style="color: #112335;">чашка, кружка, блок, временный дождь</span></p>
Мне нужно вытащить слова которые идут через запятую, по отдельности. Вот составим такое выражение:
<[^>]*>Примеры[:]?</[^>]*>(?:<p>)?<span\n?style="color:[\s]#[\d]*;">\s?[\s\,\.]{0,}([\w\s]*)
Оно работает, но вытаскивает только первое слово (чашка). Пытался сделать так:
<[^>]*>Примеры[:]?</[^>]*>(?:<p>)?<span\n?style="color:[\s]#[\d]*;">[\s?[\s\,\.]{0,}([\w\s]*)]*
Но не работает. Подскажите как сделать правильно?

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

textual
Листинг программы
string str="<h2 class=\"sim\">Примеры:</h2><p><span style=\"color: #112335;\">чашка, кружка, блок, временный дождь</span></p>";
string regex="style=\"color: #.*;\">(.*)</span>";
Match m = Regex.Match(str, regex);
if(m.Success)
{
    var arr = m.Groups[1].Value.Split(',').Select(x => x.Trim()); //разделим по запятой ну и для красоты обрежем пробелы
    MessageBox.Show(string.Join("\n", arr));
}

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


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

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

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