如何在C#中的正则表达式中使用此正则表达式筛选字符串



我有以下正则表达式字符串"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]+"")"

注意,在逐字逐句的字符串中,双引号是通过双引号转义的

最新更新