C# 正则表达式匹配关键字
C# Regex pattern to match keyword
关于正则表达式模式的问题。我有一个字符串输入,我想将其与我的字符串数组相匹配。输入不是恒定的。例如我的测试输入是 "test123MakeLunch23" 和 "testMakeLunch(1)" 我有一个字符串数组。示例 "MakeLunch" 应该与我的测试输入匹配,而 "DeliverLunch" 应该是错误的。我很难完成这项工作。
string input = "test123MakeLunch23";
List<string> lstKeywords = new List<string>() { "MakeLunch", "DeliverLunch"};
foreach (var keyword in lstKeywords)
{
// this is not right
string pattern = $@"^([a-zA-Z0-9{keyword}a-zA-Z0-9)$";
// on MakeLunch should return true only
bool ismatch = Regex.IsMatch(input,pattern,RegexOptions.IgnoreCase);
}
您能否对解决方案添加一些解释。谢谢。
您只需要测试您输入的字符串中是否存在关键字。你不需要正则表达式:
string input = "test123MakeLunch23";
string keyword = "MakeLunch";
bool is_match = input.IndexOf(keyword) > -1;
关于正则表达式模式的问题。我有一个字符串输入,我想将其与我的字符串数组相匹配。输入不是恒定的。例如我的测试输入是 "test123MakeLunch23" 和 "testMakeLunch(1)" 我有一个字符串数组。示例 "MakeLunch" 应该与我的测试输入匹配,而 "DeliverLunch" 应该是错误的。我很难完成这项工作。
string input = "test123MakeLunch23";
List<string> lstKeywords = new List<string>() { "MakeLunch", "DeliverLunch"};
foreach (var keyword in lstKeywords)
{
// this is not right
string pattern = $@"^([a-zA-Z0-9{keyword}a-zA-Z0-9)$";
// on MakeLunch should return true only
bool ismatch = Regex.IsMatch(input,pattern,RegexOptions.IgnoreCase);
}
您能否对解决方案添加一些解释。谢谢。
您只需要测试您输入的字符串中是否存在关键字。你不需要正则表达式:
string input = "test123MakeLunch23";
string keyword = "MakeLunch";
bool is_match = input.IndexOf(keyword) > -1;