2009-09-03 7 views
19

Je développe une application dans .NET où l'utilisateur peut fournir des expressions régulières qui sont ensuite utilisées pour valider les données d'entrée.Comment valider une expression régulière?

J'ai besoin d'un moyen de savoir si une expression régulière est réellement valide pour le moteur .ge regex.

Merci pour toute aide

Répondre

30

juste essayer de compiler l'expression rationnelle donnée. Vous pouvez le faire en créant l'objet Regex et en lui passant le motif. Voici un exemple de code:

public static bool IsRegexPatternValid(String pattern) 
{ 
    try 
    { 
     new Regex(pattern); 
     return true; 
    } 
    catch { } 
    return false; 
} 
+0

C'est l'approche que j'utilise actuellement. Le problème est que j'utilise un bloc try {} catch {}. Je voulais savoir s'il y avait une façon non-exceptionnelle de le faire. Merci néanmoins –

+2

C'est juste comme la classe Regex est conçue en .NET - pour vérifier si un pattern est valide, vous devez le compiler et voir si des exceptions sont levées. Je n'ai jamais entendu parler d'un autre moyen de le faire. – Paulius

+0

Ugh ça craint fort si vous l'utilisez comme un filtre dynamique sur une grande collection :( – Sinaesthetic

Questions connexes