Неверное регулярное выражение при парсинге страницы - C#

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

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

Имеется страница такой разметки:
<tr class="lutr">
15
26
37
48
</tr>
<tr class="lutr">
1
2
3
4
5
6
7
</tr>
<tr class="lutr">
10000
</tr>
Пытаюсь вытащить текст из тегов

<tr class="lutr"></tr>

с помощью регулярного выражения:
            Regex _Reg = new Regex(@"(\<tr\sclass\=\x22lutr\x22\>)(.*)(\<\/tr\>)", RegexOptions.Multiline);
            foreach (Match match in _Reg.Matches(richTextBox2.Text))
           {
               richTextBox2.Text += match.Groups[2].Value + "\n";
            }
Однако вытаскивать он не так как нужно, в результате он вытаскивает все, что было между 1 и последним тегом и получается так:
15
26
37
48
</tr>
<tr class="lutr">
1
2
3
4
5
6
7
</tr>
<tr class="lutr">
10000
Как можно исправить регулярку?

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

textual
Листинг программы
string input = @"<tr class=""lutr""
15
26
37
48
</tr>
<tr class=""lutr"">
1
2
3
4
5
6
7
</tr>
<tr class=""lutr"">
10000
</tr>";
 
 
            foreach (Match all in Regex.Matches(input, @"<tr class=""lutr""(.*?)</tr>", RegexOptions.Singleline))
            {
                Console.WriteLine(Regex.Replace(all.Value, @"(<tr class=""lutr"")|(</tr>)|>", "", RegexOptions.Singleline).Trim());
            }

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


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

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

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