0

Провожу загрузку html страницы

html = client.DownloadString(dt.Rows[i][2].ToString());

потом регулярным выражением пробую вырезать часть строки

string s1 = dt.Rows[i][3].ToString();
string s2 = dt.Rows[i][4].ToString();
Regex regex = new Regex(s1 + @".*" + s2);
MatchCollection matches = regex.Matches(html);
if (matches.Count > 0)
                {
                    foreach (Match match in matches)
                    html1 = match.Value;
                    MessageBox.Show(html1);
                }

Самое интересное что если копируешь кусок кода и присваиваешь переменной html то регулярное выражение отрабатывается а если производишь загрузку как выше указано то совпадение не находится

  • 1
    Ну вы сравните в чем отличие загруженного html и вставленного вами вручную. Ну а так, категорически не советую вам регулярками парсить html. Почитайте лучше это. – EvgeniyZ Jul 21 '18 at 19:19
  • 337 руб.
    481 руб.
    – user293746 Jul 21 '18 at 19:27
  • В том то и суть что не в чем s1="_price">" а s2="руб." – user293746 Jul 21 '18 at 19:27
  • @Evgeniz, не надо руками этого делать, Cef поможет, или родной для C# контрол от ИЕ, но надо подгрузить COM объект.
  • – NewView Jul 21 '18 at 19:33
  • Может проблема в спец символах? при присваивании я их экранирую а при загрузке страницы что-то выходит не так – user293746 Jul 21 '18 at 19:37