C# Regex.IsMatch retourne vrai quand il ne devrait pas?

Je suis d'essayer de correspondre à une chaîne de caractères qui peut contenir n'importe quel nombre de caractères numériques ou un point décimal à l'aide de la regex suivante:

([0-9.])*

Voici un code C# pour tester la regex:

Regex regex = new Regex("([0-9.])*");

if (!regex.IsMatch("a"))
    throw new Exception("No match.");

J'attends l'exception levée ici, mais il n'est pas - suis-je utiliser les Regex de manière incorrecte ou est-il une erreur dans le modèle?

EDIT: j'aimerais aussi correspondre à une chaîne vide.

essayer de s'échapper de la virgule décimale. Je crois que les RegEx, c'est la compréhension qu'il soit "n'importe quel caractère".

OriginalL'auteur James Cadd | 2011-01-09