V
V
Viktor Familyevich2016-12-06 13:03:10
Parsing
Viktor Familyevich, 2016-12-06 13:03:10

Which pattern for RegEx is correct?

Good afternoon. There is this part of the site:

<div class="currency-table__rate__text">
                                    Сибэс - Московский офис
 
                                                                            <div class="margin-top-xx-small">
                                            Сибэс — Московский офис
                                        </div>
                                                                    </div>

I want to parse the first phrase "Seabas - Moscow office", for this I write:
string pattern = @"<div class=""currency-table__rate__text"">
                  (.*)

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

But apparently because of the spaces, nothing gets into the pattern. Please tell me how to solve?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Алексей Немиро, 2016-12-06
@Wintego

// .* - может съесть лишнего, 
// если есть возможность, лучше строго ограничивать
// в данном случае четкой границей 
// может служить открытие следующего тега (<)
// "(.+?)<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);

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question