特定 searchString = "23423asdfa-''"
这个正则表达式应该评估为false,但它不会!有任何想法吗?
Regex rgx = new Regex(@"[\w-]*");
rgx.IsMatch(searchString)
Run Code Online (Sandbox Code Playgroud)
这是因为你没有约束它来匹配整个字符串.因此,允许考虑字符串子集的匹配.字符串的一个非常大的子集匹配数据,因此正则表达式返回true.
请尝试以下操作以强制它匹配整个输入.
Regex rgx = new Regex(@"^[\w-]*$");
rgx.IsMatch(searchString)
Run Code Online (Sandbox Code Playgroud)