Skip to main content
 首页 » 编程设计

c#之重写正则表达式以删除 c#6 依赖项

2024年01月22日28sharpest

我有以下正则表达式:

string ContactFirst = "Johnathan"; 
string TheSearchString = "John"; 
Regex.IsMatch(ContactFirst, $@"\b{TheSearchString}\b", RegexOptions.IgnoreCase) 
//should return false 

问题是这个正则表达式需要将 C#6 添加到项目中,只是为了让这一行代码起作用。有没有办法让它与 C#5 一起工作?

请您参考如下方法:

C#6 支持内插字符串文字 ($"..."),为了使代码与早期的 C# 版本兼容,您可以使用 string.Format .

我还建议使用 Regex.Escape()如果 TheSearchString 是文字字符串:

Regex.IsMatch(ContactFirst,  
          string.Format(@"\b{0}\b", Regex.Escape(TheSearchString)),  
          RegexOptions.IgnoreCase)