Разбор потока с помощью Regex в C # - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть поток HTML-кода, который выглядит следующим образом:

<br><br><font color=Blue>Item Name:</font> My first item<br>
<font color=Blue>Item Type:</font> My item type<br>
<font color=Blue>Item Color:</font> My item color<br><br>

Моя идея состоит в том, чтобы анализировать каждый знак > до следующего <, чтобы получить строки типа Item Name: илиMy first item, но это должно быть так, что если между символами >0< или ># <есть только один символ, он не должен храниться. </p>

Как это сделать с C # и записать выводна консоль?

1 Ответ

0 голосов
/ 03 ноября 2019

Шаг 1. Не :) https://stackoverflow.com/a/1732454/3214843

Я предупрежден;Я хочу разобрать html, используя regex

Вот грубое совпадение для извлечения целевых строк для людей в вашем фрагменте html.

string input = @"<br><br><font color=Blue>Item Name:</font> My first item<br>
<font color=Blue>Item Type:</font> My item type<br>
<font color=Blue>Item Color:</font> My item color<br><br>";

var pattern = "<font color=.*>(.*?)</font>(.*?)<br>";

var matches = Regex.Matches(input, pattern);

var output2 = matches
            .Select(m => (m.Groups[1].ToString(),m.Groups[2].ToString()))
            .ToList();

foreach (var o in output2) Console.WriteLine(o);
// .NETCoreApp,Version=v3.0
(Item Name:,  My first item)
(Item Type:,  My item type)
(Item Color:,  My item color)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...