Какой шаблон для RegEx коррентный?

Добрый день. Есть такой кусок сайта:
<div class="currency-table__rate__text">
                                    Сибэс - Московский офис
 
                                                                            <div class="margin-top-xx-small">
                                            Сибэс — Московский офис
                                        </div>
                                                                    </div>

Хочу спарсить первую фразу "Сибэс - Московский офис", для этого пишу:
string pattern = @"<div class=""currency-table__rate__text"">
									(.*)

																			<div class=""margin-top-xx-small"">";

Но видимо из-за пробелов в pattern ничего не попадает. Подскажите пожалуйста как решить?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
// .* - может съесть лишнего, 
// если есть возможность, лучше строго ограничивать
// в данном случае четкой границей 
// может служить открытие следующего тега (<)
// "(.+?)<div" имеет смысл использовать, если в искомом тексте могут быть другие теги
// class="margin-top-xx-small" тоже можно использовать, 
// но только если это действительно необходимо
var pattern = @"<div(\s+)class=""currency-table__rate__text"">(?<data>[^\<]+)<";
var reg = new Regex(pattern, RegexOptions.IgnoreCase);
var m = reg.Match(value); // вместо value переменная с данными для разбора
var result = m.Groups["data"].Value.Trim();
Console.WriteLine(result);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы