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
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.
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.
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.