C# 正则表达式和字符串
考虑以下几点:C# 正则表达式和字符串,c#,regex,string,match,C#,Regex,String,Match,考虑以下几点: string keywords = "(load|save|close)"; Regex x = new Regex(@"\b"+keywords+"\b"); 我没有火柴。但是,如果我这样做: Regex x = new Regex(@"\b(load|save|close)\b"); 我有火柴。为什么前者不起作用,我怎样才能解决这个问题?基本上,我希望关键字是可配置的,所以我将它们放在一个字符串中。第一个代码段中的最后一个\b前面需要一个逐字字符串说明符@,并且它是一个单
string keywords = "(load|save|close)";
Regex x = new Regex(@"\b"+keywords+"\b");
我没有火柴。但是,如果我这样做:
Regex x = new Regex(@"\b(load|save|close)\b");
我有火柴。为什么前者不起作用,我怎样才能解决这个问题?基本上,我希望关键字是可配置的,所以我将它们放在一个字符串中。第一个代码段中的最后一个\b前面需要一个逐字字符串说明符@,并且它是一个单独的字符串实例
string keywords = "(load|save|close)";
Regex x = new Regex(@"\b"+keywords+@"\b");
您在第二个之前忘记了附加的@b\b您缺少另一个以最后一个\b为前缀的逐字字符串说明符@:
我懂了。我漏掉了一些非常明显的东西。
Regex x = new Regex(@"\b"+keywords+@"\b");
Regex x = new Regex(@"\b" + keywords + @"\b");