It looks to me ERE構文のようなものは、ほとんどの他の "Perl互換"フレーバー(Perl、PHP、Python、JavaScript、Ruby、Java ...)と同様に、.NETの正規表現のフレーバーとほとんど上位互換です。言い換えれば、ERE正規表現でできることは何でも、同じ.NET正規表現で実行できるはずです。確かにあなたの例:
^\+(<{7} \.|={7}$|>{7} \.)
は、EREに行うように.NETで同じことを意味します。私が見ることができる唯一の大きな例外はPOSIX bracket expressionsです。 .NETはUnicode標準に準拠しています。
あなたがに行くときにを適用すると、実際に異なるものになる正規表現が適用されます。 C#では次のようなその正規表現を適用される場合があります:
string result = Regex.Match(targetString, @"^\+(<{7} \.|={7}$|>{7} \.)").Value;
C#の逐語的文字列をあなたには、いくつかの他の言語のようにバックスラッシュをエスケープする必要が保存「文字列リテラル。あなただけがそれらを倍にすることによって行う引用符をエスケープする必要があります。
@"He said, ""Look out!""";
それは、あなたの質問に答えるのか?
これはタイプミスではなく、OPはコードフォーマットを使用していないため、SOソフトウェアがいくつかの文字を食べました。 –