Нет, если Вы строго говоря о регулярных выражениях и не включая некоторые реализации регулярного выражения, которые являются на самом деле контекстно-свободными грамматиками.
существует одно ограничение регулярных выражений, которое лишает возможности писать regex, который соответствует всем и только regexes. Вы не можете соответствовать реализациям, таким как фигурные скобки, которые соединяются. Regexes используют много таких конструкций, позволяет, берут [] в качестве примера. Каждый раз, когда существует [должно быть соответствие]. Достаточно простой для regex" [.*]".
то, Что лишает возможности regexes, - то, что они могут быть вложены. Как можно записать regex, который соответствует вложенным скобкам? Ответ - Вы, не может без бесконечно длинного regex. Можно соответствовать любому количеству вложенного parens через грубую силу, но Вы никогда не можете соответствовать произвольно длинному набору вложенных скобок.
Эта возможность часто упоминается как рассчитывающий (Вы считаете глубину вложения). regex по определению не имеет возможности рассчитать.
РЕДАКТИРОВАНИЕ: Законченная запись сообщения в блоге об этом: Ограничения Регулярного выражения
Из того, что я читал, вы можете включить атрибут XMLInclude в веб-метод, возвращающий объект, а не в базовый класс. Все еще не очень красиво, но может понравиться вам больше, чем просто включение имен производных классов в базовый класс. Я не пробовал, но думаю, что вы можете сделать что-то подобное.
[WebMethod]
[XmlInclude(typeof(LifeForm))]
public Human GetHuman()
{
return new Human();
}
Возникла точно такая же проблема с VB.NET. Использование атрибута XMLInclude, хотя и некрасивое, помогло.