string aniPattern=@"(?si:<option value=\\\"(?<year>.*?)\\)";
这打破了因为“在中间。但我需要它,因为我在正则表达式中使用它。
我尝试使用string aniPattern="(?si:<option value=\\\"(?<year>.*?)\\\\)";
(没有@),但它不是有效的正则表达式。
答案 0 :(得分:12)
重要 - 您想要匹配的内容并不完全清楚;我已经回答了仅 "
是一个问题的前提 - 但另请参阅Mike Caron's answer,其中假设所有内容未正确转义。< / p>
使用逐字字符串文字(即@"..."
),"
将转义为""
- 因此您的字符串变为:
string aniPattern=@"(?si:<option value=\\\""(?<year>.*?)\\)";
使用常规字符串文字(不带前导@
),您需要更糟糕的事情:
string aniPattern="(?si:<option value=\\\\\\\"(?<year>.*?)\\\\)";
答案 1 :(得分:8)
string aniPattern=@"(?si:<option value=""(?<year>.*?)\)";
对于@转义字符串,您将引号加倍以转义它,因为不使用反斜杠。
答案 2 :(得分:2)
使用两个双引号,如下所示:""