Неверное регулярное выражение при парсинге страницы - C#
Формулировка задачи:
Имеется страница такой разметки:
Пытаюсь вытащить текст из тегов
Однако вытаскивать он не так как нужно, в результате он вытаскивает все, что было между 1 и последним тегом и получается так:
Как можно исправить регулярку?
Листинг программы
- <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";
- }
Листинг программы
- 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());
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д