Was ist der einfachste Weg in C # zu validieren, wenn ein regulärer Ausdruck gut gebildet ist?

8

Gibt es in C # einen einfachen Weg zu testen, ob ein regulärer Ausdruck ein regulärer Ausdruck ist? Mit anderen Worten, ich möchte prüfen, ob ein vom Benutzer bereitgestelltes Regex-Muster fehlerhaft ist oder nicht. Dies ist ein reiner Syntaxtest und nicht das, was die Regex erreichen / testen soll. Danke

    
Zoman 06.02.2010, 22:02
quelle

3 Antworten

5

Sie können versuchen, es an den Regex-Konstruktor zu übergeben und das potenzielle ArgumentException , das ausgelöst wird, wenn das Argument ein ungültiger regulärer Ausdruck ist.

    
Darin Dimitrov 06.02.2010, 22:04
quelle
2

Hier ist ein Beispiel aus C # Online .NET , das Ausnahmen verwendet:

BEARBEITEN:

Der Code wurde entfernt, um Urheberrechtsinhaber zu respektieren, nur für den Fall. Klicken Sie einfach auf den obigen Link, um es zu sehen.

    
Andy West 06.02.2010 22:08
quelle
1

Ich muss sagen, das hört sich nicht gut an. Die extrem kleine Teilmenge von Computerbenutzern, die in der Lage wäre, eine Regex korrekt einzugeben, sollte wahrscheinlich auch vertraut sein, die Ausnahmemeldung korrekt zu interpretieren. Zu versuchen, ihre Eingabe zu validieren und sie falsch zu machen, wäre ein ausreichender Grund, dass sie ziemlich verrückt werden und dein Programm deinstallieren.

Wenn erfahrene Programmierer nicht wirklich Ihr Zielkunde sind, sollten Sie Regex vermeiden.

    
Hans Passant 06.02.2010 22:30
quelle

Tags und Links