You might be interested in
C# Regex: Supported Unicode General Categories[
^].
There is a character class for upper case:
\p{Lu]
that matches any Unicode upper case (not only ASCII). The opposite of
\p{Lu}
is
\P{Lu}
(see upper case P), which means in the regex: all but the given class, i.e. all but upper case
E.g. error if the first character is not upper case:
if (Regex.Match(input, @"^\P{Lu]").Success) { }
Cheers
Andi