Мне кажется что синтаксис ERE в основном совместим с версией regex .NET, как и с большинством других "совместимых с Perl" разновидностей (Perl, PHP, Python, JavaScript, Ruby, Джава...). Другими словами, все, что вы можете делать в регулярном выражении ERE, вы должны делать в идентичном регулярном выражении .NET. Конечно ваш пример:
^\+(<{7} \.|={7}$|>{7} \.)
означает то же самое в .NET, что и в ERE. Единственное серьезное исключение, которое я вижу, это область скобок POSIX ; Вместо этого .NET следует стандарту Unicode.
Это когда вы переходите к применять регулярное выражение, вещи действительно становятся другими. В C # вы можете применить это регулярное выражение так:
string result = Regex.Match(targetString, @"^\+(<{7} \.|={7}$|>{7} \.)").Value;
C # дословные строки избавят вас от необходимости избегать обратной косой черты, как в строковых литералах некоторых других языков; вам нужно только избежать кавычек, которые вы удваиваете их:
@"He said, ""Look out!""";
Это отвечает на ваш вопрос?