Трудно поверить, что принятый ответ (от Гамбо) действительно был принят! Если это не было принято, потому что это указывало на то, что вы не можете делать то, что вы хотите. Если у вас нет функции, которая генерирует такие регулярные выражения (как показывает Гамбо), составление их было бы настоящей болью.
Каков реальный вариант использования - что вы действительно пытаетесь сделать?
Как указал Томалак, (а) это не то, что делают регулярные выражения; (б) см. другой пост, на который он ссылался, для хорошего объяснения, в том числе, что делать с вашей проблемой.
Ответ заключается в том, чтобы использовать регулярное выражение для соответствия тому, что вы делаете , а не , и затем вычесть это из исходного домена. IOW, не пытайтесь заставить регулярное выражение делать исключение (оно не может); выполните исключение после , используя регулярное выражение, чтобы соответствовать тому, что вы хотите исключить.
Так работает каждый инструмент, использующий регулярные выражения (например, grep
): они предлагают отдельную опцию (например, через синтаксис), которая выполняет вычитание - после сопоставления того, что необходимо вычесть.