Вам просто нужно получить доступ к коллекции match.Groups[2].Captures
.
См. демонстрацию regex
Что вам нужно CaptureCollection . См. Эту ссылку Regex.Match
:
blockquote>
Captures
Получает коллекцию всех захватов, соответствующих группе захвата, в самом внутреннем левом-первом порядке (или самой внутренней -rightmost-first order, если регулярное выражение изменено с помощью опцииRegexOptions.RightToLeft
). [Унаследовано от Group.)Вот демонграмма sample , которая выводит все записи из
Groups[2]
CaptureCollection (F2
,0B
,E2
,C2
,A3
):var pattern = "(=([0-9A-F]{2}))+"; var result = Regex.Matches("=F2=0B=E2some text =C2=A3", pattern) .Cast
().Select(p => p.Groups[2].Captures) .ToList(); foreach (var coll in result) foreach (var v in coll) Console.WriteLine(v);
да log4xxx медленнее, чем трассировка, так как трассировка является обычно близким инструментом ядра, в то время как log4xxx является намного более мощным инструментом. Лично я предпочитаю log4xxx из-за, это - fexibility, но если Вы хотите что-то, что не влияет на столько же, и Вы действительно не нуждаетесь в журналах для производства, говорите в отладке, только прослеживают, должен быть достаточно.
Примечание: Я использую log4xxx, потому что то же самое относится ко всем языкам с log4 библиотекой не просто .NET
На основе моего опыта log4net производительность не проблема в большинстве случаев. Реальный вопрос, почему Вам даже требовались бы к "регистрирующимся вещам сотни тысяч времен" в производственной системе.
, Поскольку я вижу его в производстве, необходимо зарегистрировать только абсолютный минимум (информация без обозначения даты может предупреждать уровень), и только если потребность к (отладка проблемы о сайте) должна активировать отладку на уровне отладки.
Если Вы захотите лучший из обоих миров, то log4net позволит Вам регистрироваться к aspnet трассировщику также. Я включаю эту опцию, когда я хочу получить статистику производительности, которая связана к определенным событиям в моем входе.
Вас может заинтересовать библиотека Common.Logging . Это тонкая оболочка абстракции над существующими реализациями ведения журналов, которая позволяет подключать любую среду ведения журналов, которая вам нравится во время выполнения. Кроме того, он намного быстрее, чем System.Diagnostics.Trace, как описано в моем блоге о производительности .
hth, Эрих