/ / Vérifie si une chaîne est un modèle RegEx valide VB.NET - regex, vb.net

Vérifier si une chaîne est un modèle RegEx valide VB.NET - regex, vb.net

ok j'ai les cordes suivantes

"^[a-z]*$"

et

"a-z"

Maintenant, ce que je veux avec ces deux chaînes, c'est de vérifier si elles sont des chaînes d'expressions régulières valides dans VB.NET. Je ne sais vraiment pas comment puis-je le faire ... mais j'ai essayé quelque chose ci-dessous

Try
Dim regex As Regex = New Regex("a-z")
Return "valid regex"
Catch ex As Exception
Return "not valid regex"
End Try

mais ma solution ci-dessus ne semble pas vraiment bonne. Y a-t-il une meilleure solution?

Réponses:

7 pour la réponse № 1

Non, il n'y a pas d'autre solution (vous pouvez bien sûr réimplémenter l'analyseur de regex, mais ce serait un enfer de travail propice aux erreurs).

Je préférerais attraper le spécifique ArgumentException que le Regex constructeur jette si la regex est invalide autre que juste Exception.