C# 正则表达式:用特殊的re字符按字面意思表示字符串

C# 正则表达式:用特殊的re字符按字面意思表示字符串,c#,regex,C#,Regex,也许是个简单的问题 String text = "fake 43 60 fake"; String patt = "[43.60]"; Match m = Regex.Match(text, patt) 在这种情况下,m.Success=true,因为点替换任何字符(也替换空格)。但我必须在patt中按字面意思匹配字符串 当然,我可以在patt中的点之前使用“\” String patt = @"[43\.60]"; 所以m.Success=false,但是正则表达式中有更多的特殊字符 我

也许是个简单的问题

String text = "fake 43 60 fake";
String patt = "[43.60]";

Match m = Regex.Match(text, patt)
在这种情况下,m.Success=true,因为点替换任何字符(也替换空格)。但我必须在patt中按字面意思匹配字符串

当然,我可以在patt中的点之前使用“\”

String patt = @"[43\.60]";
所以m.Success=false,但是正则表达式中有更多的特殊字符

我的问题是,我如何使用正则表达式,一个字符串将被视为它的集合。所以“43.60”必须与“43.60”完全匹配43?60'必须与'43?60'匹配


谢谢。

要获得正则表达式安全文本:

string escaped = Regex.Escape(input);
例如,要匹配文字
[43.60]

string escaped = Regex.Escape(@"[43.60]");
给出包含以下内容的字符串:
\[43\.60]

然后可以使用此转义内容创建正则表达式;例如:

string find = "43?60";
string escaped = Regex.Escape(find);
bool match = Regex.IsMatch("abc 43?60", escaped);
请注意,在许多情况下,您需要将转义字符串与其他一些正则表达式片段组合起来,以形成完整的模式