Если имеет в качестве регулярного выражения, ваш XML-файл правильно сформирован, и вы знаете (скажем, из DTD), что теги <soundcard>
не могут быть вложенный, то вы можете использовать
(<soundcard.*?</soundcard>\s*)+
и замените все на {0}
.
В C #:
resultString = Regex.Replace(subjectString, @"(<soundcard.*?</soundcard>\s*)+", "{0}", RegexOptions.Singleline);
Для быстрого и однозначного решения одноразовой проблемы, я думаю, это нормально. Не стоит думать о регулярном выражении как о надлежащем инструменте для обработки XML в целом.