string aniPattern=@"(?si:<option value=\\\"(?<year>.*?)\\)";
これは途中で " が壊れます。しかし、正規表現で使用するため、これが必要です。
(@ なしで)使用しようとしましstring aniPattern="(?si:<option value=\\\"(?<year>.*?)\\\\)";たが、有効な正規表現ではありません。
重要- 何を一致させたいのかが完全に明確ではありません。のみが問題であるという前提で答えましたが、すべてが間違ってエスケープされていると仮定するMike Caronの答え"も参照してください。
逐語的な文字列リテラル (つまり@"...") を使用すると、"にエスケープされる""ため、文字列は次のようになります。
string aniPattern=@"(?si:<option value=\\\""(?<year>.*?)\\)";
通常の文字列リテラル (先頭の なし@) では、さらに悪いことが必要になります。
string aniPattern="(?si:<option value=\\\\\\\"(?<year>.*?)\\\\)";
string aniPattern=@"(?si:<option value=""(?<year>.*?)\)";
@ エスケープされた文字列の場合、バックスラッシュが使用されていないため、引用符を二重にしてエスケープします。
次のように、2 つの二重引用符を続けて使用します。""