我有一串文字
string a = "Not Approved;Review Not Required;Terminated;Draft";
string input = "Approved";
并且我的输入是“已批准”,它仍然返回我的假(这是我想要的),但如果我的输入是“已终止”,它仍然会返回我的错误(这是错误的)。
Regex.Match(a, input + @"^\b").Success
Regex.match(a,@"\b" + input + @"\b".Success
两者都不像我正在寻找的那样工作
答案 0 :(得分:3)
为什么不稍微修改正则表达式?检查';'
不是'\b'
string a = "Not Approved;Review Not Required;Terminated;Draft";
string input = "Approved";
// do not forget to Escape for arbitrary input
// true for "Terminated", false for "Approved"
Boolean result = Regex.IsMatch(a, @"(^|;)" + Regex.Escape(input) + @"($|;)");