string aniPattern=@"(?si:<option value=\\\"(?<year>.*?)\\)";
Run Code Online (Sandbox Code Playgroud)
这打破了因为"在中间.但我需要它,因为我在正则表达式中使用它.
我试图使用string aniPattern="(?si:<option value=\\\"(?<year>.*?)\\\\)";(没有@),但它不是一个有效的正则表达式.
Mar*_*ell 12
重要的是 - 你想要匹配的并不完全清楚; 我已经回答了前提,只有这"是一个问题 - 但也请参阅Mike Caron的答案,该答案假设所有内容都被错误地转义.
使用逐字字符串文字(即@"..."),"转义为""- 所以你的字符串变为:
string aniPattern=@"(?si:<option value=\\\""(?<year>.*?)\\)";
Run Code Online (Sandbox Code Playgroud)
使用常规字符串文字(没有前导@),你需要更糟糕的是:
string aniPattern="(?si:<option value=\\\\\\\"(?<year>.*?)\\\\)";
Run Code Online (Sandbox Code Playgroud)
string aniPattern=@"(?si:<option value=""(?<year>.*?)\)";
Run Code Online (Sandbox Code Playgroud)
对于@转义字符串,您可以将引号加倍以使其转义,因为不使用反斜杠.