Как насчет этого:
string table =
"+---------+-----------+-----------+-----------+" + Environment.NewLine +
"| | Line | Branch | Method |" + Environment.NewLine +
"+---------+-----------+-----------+-----------+" + Environment.NewLine +
"| Total | 100% | 100% | 100% |" + Environment.NewLine +
"+---------+-----------+-----------+-----------+" + Environment.NewLine +
"| Average | 100% | 89% | 100% |" + Environment.NewLine +
"+---------+-----------+-----------+-----------+" + Environment.NewLine +
"" + Environment.NewLine +
"+---------+-----------+-----------+-----------+" + Environment.NewLine +
"| | Line | Branch | Method |" + Environment.NewLine +
"+---------+-----------+-----------+-----------+" + Environment.NewLine +
"| Total | 100% | 100% | 100% |" + Environment.NewLine +
"+---------+-----------+-----------+-----------+" + Environment.NewLine +
"| Average | 100% | 99% | 100% |" + Environment.NewLine +
"+---------+-----------+-----------+-----------+";
MatchCollection matches = Regex.Matches(table, @"(?<=\| Average *\| \d+\% +\| *)\d+\%(?=.*)");
foreach (Match m in matches)
{
Console.WriteLine(m.Value);
}
Выходы:
89%
99%
<час> Обновление:
Мне нужно было узнать, что .NET (где я построил мой RegEx) поддерживает квантификаторы в обходных выражениях, в то время как в других реализациях RegEx такой поддержки нет.
Поэтому выражение RegEx моего решения не будет работать там.
Чтобы решить эту проблему, я удалил квантификаторы и заменил их объявлениями с фиксированными символами. Это работает для фиксированной таблицы, но не будет работать, если макет таблицы имеет динамическую ширину:
(?<=\| Average \| ..\d\% \| )\d+\%(?=.*)
Как Вы говорите, это зависит от много. Не только сайт, который Вы хотите разместить, но и с кем, а именно, Вы сравниваете его. Чтобы дать Вам общее представление, я размещаю сайт, который получает от 20k до 30k просмотров страниц день на Механизме Приложения, и это стоит мне 17c неделя. Это для дополнительного устройства хранения данных по квоте по умолчанию - все другие квоты хорошо в свободной зоне.
Насколько определенные сравнения идут, если мы смотрим на Linode, например, их основной план составляет 20$ для 12 ГБ устройства хранения данных и передачи на 120 ГБ в месяц. По ценам на Механизмы Приложения, которые стоили бы Вам самое большее 16,20$ в месяц - принятие его было всем исходящим трафиком. Если Вы делаете меньше, чем это за месяц, это стоит Вам меньше. Очевидно, у Вас нет всей универсальности на Механизме Приложения, который Вы имеете с VPS, но у Вас также есть лучшая масштабируемость и надежность.
Сравнение довольно легко к другим услугам хостинга. Я думаю, что Механизм Приложения будет обычно выходить вперед, поэтому главным образом решение сводится, если Ваше приложение подходит для Механизма Приложения.
Если ваше приложение уже работает на Python, используйте движок приложений! Вы не могли бы мечтать о более надежной, масштабируемой и эффективной платформе для хостинга. Что касается $, вы не можете победить его. Сейчас я работаю над переносом всех написанных мной приложений на Python, чтобы воспользоваться преимуществами движка приложений Google. Представьте себе, vps больше не беспокоится о проблемах с сервером. Воспользуйтесь этим!