Регулярные выражения: распарсить HTML-страницу - C#
Формулировка задачи:
Привет всем!
Подскажите, пожалуйста, пытаюсь спарсить с html документа нужную мне строку:
Я пытаюсь взять ее регулярными выражениями, вида:
Но строк совпадения у меня ноль.
Как я понимаю, регулярные выражения обо что-то так сказать "запинаются", но понять обо что - не могу.
Кто может показать в чем я ошибся?
Заранее спасибо!
А вообще, я еще хотел спросить, пока не забыл
Мне нужно из каждого <tr> взять значение
<option value="тут_случайная_цифра" selected>это_значение_нужно_взять</option>
кто может подсказать, взять сразу это значение? Заранее спасибо!
<tr id="tr_PROPERTY_1"> <td class="adm-detail-valign-top" width="40%"><span class="adm-required-field">Значение</span>:</td> <td width="60%"><select name="PROP[1][]" size="1" ><option value="">(не установлено)</option><option value="1">135</option><option value="2">145</option><option value="3">155</option><option value="4">165</option><option value="5">175</option><option value="6">185</option><option value="7">195</option><option value="8">205</option><option value="9">215</option><option value="10" selected>225</option><option value="11">235</option><option value="12">245</option><option value="13">255</option><option value="14">265</option><option value="15">275</option><option value="16">285</option><option value="17">295</option><option value="18">305</option><option value="19">315</option><option value="20">325</option><option value="1121">31</option><option value="1061">20.5</option><option value="1063">23.5</option><option value="1057">16.0</option><option value="1122">32</option><option value="1066">6.25</option><option value="1069">7.5</option><option value="1058">16.9</option><option value="1052">12.00</option><option value="1050">10.00</option><option value="1065">6.00</option><option value="1070">7.50</option><option value="1062">21.5</option><option value="1125">35</option><option value="1072">9.00</option><option value="1051">11.00</option><option value="1120">30</option><option value="1123">33</option><option value="1059">17.5</option><option value="1124">34</option><option value="1054">14.00</option><option value="1064">28.1</option><option value="1071">8.25</option><option value="1073">9.5</option><option value="1056">16.00</option><option value="1068">7.00</option><option value="1126">36</option><option value="1060">18.0</option><option value="1055">15.00</option><option value="1053">13.00</option><option value="1067">6.50</option></select></td> </tr> <tr id="tr_PROPERTY_2"> <td class="adm-detail-valign-top" width="40%"><span class="adm-required-field">Значение2</span>:</td> <td width="60%"><select name="PROP[1][]" size="1" ><option value="">(не установлено)</option><option value="1">135</option><option value="2">145</option><option value="3">155</option><option value="4">165</option><option value="5">175</option><option value="6">185</option><option value="7">195</option><option value="8">205</option><option value="9">215</option><option value="10" selected>225</option><option value="11">235</option><option value="12">245</option><option value="13">255</option><option value="14">265</option><option value="15">275</option><option value="16">285</option><option value="17">295</option><option value="18">305</option><option value="19">315</option><option value="20">325</option><option value="1121">31</option><option value="1061">20.5</option><option value="1063">23.5</option><option value="1057">16.0</option><option value="1122">32</option><option value="1066">6.25</option><option value="1069">7.5</option><option value="1058">16.9</option><option value="1052">12.00</option><option value="1050">10.00</option><option value="1065">6.00</option><option value="1070">7.50</option><option value="1062">21.5</option><option value="1125">35</option><option value="1072">9.00</option><option value="1051">11.00</option><option value="1120">30</option><option value="1123">33</option><option value="1059">17.5</option><option value="1124">34</option><option value="1054">14.00</option><option value="1064">28.1</option><option value="1071">8.25</option><option value="1073">9.5</option><option value="1056">16.00</option><option value="1068">7.00</option><option value="1126">36</option><option value="1060">18.0</option><option value="1055">15.00</option><option value="1053">13.00</option><option value="1067">6.50</option></select></td> </tr> <tr id="tr_PROPERTY_3"> <td class="adm-detail-valign-top" width="40%"><span class="adm-required-field">Значение3</span>:</td> <td width="60%"><select name="PROP[1][]" size="1" ><option value="">(не установлено)</option><option value="1">135</option><option value="2">145</option><option value="3">155</option><option value="4">165</option><option value="5">175</option><option value="6">185</option><option value="7">195</option><option value="8">205</option><option value="9">215</option><option value="10" selected>225</option><option value="11">235</option><option value="12">245</option><option value="13">255</option><option value="14">265</option><option value="15">275</option><option value="16">285</option><option value="17">295</option><option value="18">305</option><option value="19">315</option><option value="20">325</option><option value="1121">31</option><option value="1061">20.5</option><option value="1063">23.5</option><option value="1057">16.0</option><option value="1122">32</option><option value="1066">6.25</option><option value="1069">7.5</option><option value="1058">16.9</option><option value="1052">12.00</option><option value="1050">10.00</option><option value="1065">6.00</option><option value="1070">7.50</option><option value="1062">21.5</option><option value="1125">35</option><option value="1072">9.00</option><option value="1051">11.00</option><option value="1120">30</option><option value="1123">33</option><option value="1059">17.5</option><option value="1124">34</option><option value="1054">14.00</option><option value="1064">28.1</option><option value="1071">8.25</option><option value="1073">9.5</option><option value="1056">16.00</option><option value="1068">7.00</option><option value="1126">36</option><option value="1060">18.0</option><option value="1055">15.00</option><option value="1053">13.00</option><option value="1067">6.50</option></select></td> </tr>
var pattern = string.Format("<tr id=\"tr_PROPERTY_1\">.*</tr>"); var matches = Regex.Matches(list, pattern, RegexOptions.Multiline | RegexOptions.Compiled | RegexOptions.IgnoreCase); foreach (Match match in matches) { test=match.Groups[1].Value; }
Решение задачи: «Регулярные выражения: распарсить HTML-страницу»
textual
Листинг программы
string property = Regex.Match(list, "<tr id=\"tr_PROPERTY_1\">[\\s\\n]+(.*\\s+.*)\\s.*<\\/tr>"); var values = Regex.Matches(property, "<option value=\".+?\" selected>(.*?)<\\/option>"); foreach (Match value in values) Console.WriteLine(value);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д