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

文字列全体と一致しないため、これらは一致します。それらは in に一致CC++ます。

^andを使用し$て、文字列の先頭と末尾を一致させます。

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