Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式和字符串_C#_Regex_String_Match - Fatal编程技术网

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");