2010-12-20 14 views
4
string [email protected]"(?si:<option value=\\\"(?<year>.*?)\\)"; 

"これは中間にあるためです。しかし、私はそれが正規表現で使用するために必要です。引用符を含める必要があるC#文字列 "

string aniPattern="(?si:<option value=\\\"(?<year>.*?)\\\\)";(@は使用しませんでしたが、有効な正規表現ではありません。

答えて

12

重要 - あなたが一致させるものは完全にはっきりしていません。私は、だけ"が問題であることを前提に答えましたが、Mike Caron's answerを参照してください。と仮定すると、すべては間違ってエスケープされます。 (すなわち@"...")リテラル逐語的文字列で

は、"""に逃げている - ので、あなたの文字列は次のようになります(先頭@なし)定期文字列リテラルで

string [email protected]"(?si:<option value=\\\""(?<year>.*?)\\)"; 

、あなたが必要になりますさらに悪いたくさん:

string aniPattern="(?si:<option value=\\\\\\\"(?<year>.*?)\\\\)"; 
+3

私は、見積もりの​​前のスラッシュが引用を処理するためのものであると感じています。私は彼が '

+0

@Mikeのようなものにマッチしたいと思っています。あなたのことが本当に近いと私は疑う。 –

+0

また、最後のスラッシュが何のためにあるのだろうか?私はそれも誤りだと思うが、私は確信が持てないのでそれを残した。私はOPを明確にしなければならないだろうと思う。 –

2

利用お互いの隣に、そのような2つの二重引用符:""

8
string [email protected]"(?si:<option value=""(?<year>.*?)\)"; 

@エスケープ文字列では、バックスラッシュは使用されないため、エスケープするには二重引用符を使用します。

関連する問題