C#の正規表現についてもっと読みたいので、自分の結論を確認したいと思います。次の式「。*[^a-zA-Z0-9 _]。*」の場合、最初と最後の「。*」は役に立たないですよね?私が理解したように、「。*」は文字の出現が0回以上であることを意味しますが、その後に「[^ a-zA-Z0-9_]」が続く場合は、大文字と小文字を区別しない文字と数字の組み合わせ以外の文字を意味します。 「[^a-zA-Z0-9_]」の前後に「。*」を追加しても意味がありませんね。
式が一致するかどうかを確認するために使用しているコードは次のとおりです
// Here we call Regex.Match.
Match match = Regex.Match("anytest#", ".*[^a-z A-Z0-9_].*");
//Match match = Regex.Match("anytest#", "[^a-z A-Z0-9_]");
// Here we check the Match instance.
if (match.Success)
Console.WriteLine("error");
else
Console.WriteLine("no error");