Неверное регулярное выражение при парсинге страницы - 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()); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д