Доброе время суток! C помощью HtmlAgilityPack получаю строку из исходного кода:
<div class="b-auth">
<a class="b-link" href="/personal/" >10000031007</a>(<span class="b-user-acc b-user-acc_type_deb">Аванс: </span>113,04 | <a class="b-link" href="/?logout=yes" >Выход</a>)
</div>
Вопрос, как вытащить значение 113,04 с помощью регулярок или любым другим способом.
Регулярки - это хорошо, я сам их люблю и часто применяю.
Однако, html - нерегулярная грамматика, поэтому регулярные выражения плохо подходят для его парсинга.
Чтобы гарантированно не ошибиться, можно сперва с помощью средств HtmlAgilityPack получить текстовые узлы, а уже их распарсить регэксами.
// Узел, содержащий приведённый в вопросе html.
var divNode = ...
var textNodes = divNode.ChildNodes.OfType<HtmlTextNode>();
foreach (var node in textNodes)
{
var match = Regex.Match(node.Text, @"\d+,\d+");
if (match.Success)
{
Console.WriteLine(match.Value); // нужное нам значение
break;
}
}
регулярное выражение /\d+,\d+/
У меня вот такой шаблон попал в искомое число: (?<=[>])[\d][\d,]*(?=\s\|)
Однако, лучше все таки такие вещи парсером HTML делать.
Спасибо всем за помощь! Получилось сие чудо. Чуть-чуть доработал под себя.
//Перевел в текст через HtmlAgilityPack и вабрал значение до 1 000,00
// Узел, содержащий html.
var data = ...;
var match = Regex.Match(Convert.ToString(data.InnerText), @"\d+.\d+,\d+");
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На внешнем сервере будет находится 2 приложенияПервое приложение ежесекундно берет данные из потока в интернете и каждую минуту заносит...
Столкнулся с проблемой переключения окон в области Content в новом NavigationViewСобственно, мне нужно переключение на другую страницу по нажатии...
Доброго времени суток! У меня возник такой вопросДопустим у меня есть бд, в которой есть таблицы вида: