0

我知道这个语句应该按预期返回 false

Regex.IsMatch("+", @"[a-zA-Z0-9]")

但是为什么这些陈述匹配,尽管它们不应该匹配(根据我的理解)

Regex.IsMatch("C++", @"[a-zA-Z0-9]")
Regex.IsMatch("C++", @"[a-zA-Z0-9]+")
4

1 回答 1

4

这些是匹配项,因为您不匹配整个字符串。他们将匹配Cin C++

使用^and$匹配字符串的开头和结尾:

bool onlyAlphaNumeric = Regex.IsMatch("C++", @"^[a-zA-Z0-9]+$"); // will be false
于 2013-03-31T11:03:31.483 回答