Нет, вы не можете.По крайней мере, не в общем.Регулярные выражения описывают регулярные языки, и они характеризуются тем, что они не могут содержать произвольно вложенные выражения.Поэтому что-то вроде
(ab(?:cd)e(fg))
уже практически невозможно проверить с помощью только регулярных выражений.Хотя некоторые разновидности регулярных выражений допускают рекурсивный спуск в совпадение (например, Perl) или сбалансированные группы захвата, которые могут эмулировать это до некоторой степени, это определенно не инструмент, предназначенный для этой работы, и вам не следуетпопробуйте вставить его в один.
То, что вы можете сделать, это просто попытаться скомпилировать выражение, которое вы хотите проверить.Механизм регулярных выражений .NET сгенерирует исключение, если шаблон неверен:
var compiledRegex = new Regex(someString);