我有以下正则表达式字符串"CCD_ 1";但是我不能用它,因为它使用了双引号。我可以在这里尝试哪些转义字符?
我想在C#代码中使用以下内容来过滤";KernalSize";来自以下字符串:
parser.add_argument("--KernalSize", default = 6, help = "Noise removal")
后面的滤波器("--[a-zA-Z]+")
返回"--KernalSize"
。然而,当我尝试在C#代码中设置过滤器时,由于字符串中的双引号,它失败了。
const string ParamNameFilter = @"("--[a-zA-Z]+")";
那么您的正则表达式字符串("--[a-zA-Z]+")
应该与"--AnythingAlpha"
这样的字符串匹配吗?
事实上,其中一个-
之前的反斜杠甚至是不必要的,所以这就引出了一个问题,即是否存在任何类型的拼写错误,因为它只相当于("--[a-zA-Z]+")
,甚至相当于一个更简单的带有不区分大小写标志的("--[a-z]+")
。
现在只需要用C#字符串表示这个字符串:CCD_ 9=>至之一
("--[a-zA-Z]+")
0"(\"\--[a-zA-Z]+\")"
你可以用之类的东西来测试它们
public static void Main (string[] args)
{
Console.WriteLine(@"(""--[a-zA-Z]+"")");
Console.WriteLine("(\"\--[a-zA-Z]+\")");
}
两个报价选项是
双引号"("--[a-zA-Z]+")"
逐字@"(""--[a-zA-Z]+"")"
注意,在逐字逐句的字符串中,双引号是通过双引号转义的