我知道这句话应该按预期返回
Regex.IsMatch("+", @"[a-zA-Z0-9]")
但是为什么这些陈述匹配,尽管它们不应该(根据我的理解)
Regex.IsMatch("C++", @"[a-zA-Z0-9]")
Regex.IsMatch("C++", @"[a-zA-Z0-9]+")
答案 0 :(得分:4)
这些是匹配,因为您不匹配整个字符串。它们将匹配C
中的C++
。
使用^
和$
匹配字符串的开头和结尾:
bool onlyAlphaNumeric = Regex.IsMatch("C++", @"^[a-zA-Z0-9]+$"); // will be false