Ich entwerfe einen Tester für reguläre Ausdrücke in HTML und JavaScript. Der Benutzer gibt einen regulären Ausdruck und eine Zeichenfolge ein und wählt die Funktion, mit der er testen möchte (z. B. Suchen, Übereinstimmen, Ersetzen usw.), über das Optionsfeld aus. Das Programm zeigt die Ergebnisse an, wenn diese Funktion mit den angegebenen Argumenten ausgeführt wird. Natürlich gibt es zusätzliche Textfelder für die zu ersetzenden zusätzlichen Argumente und dergleichen.
Mein Problem besteht darin, die Zeichenfolge vom Benutzer abzurufen und in einen regulären Ausdruck umzuwandeln. Wenn ich sage, dass sie keine //
Regex-Zeichen haben müssen , die sie eingeben, können sie keine Flags wie g
und setzen i
. Sie müssen also das //
's um den Ausdruck haben, aber wie kann ich diesen String in einen regulären Ausdruck konvertieren? Es kann kein Literal sein, da es eine Zeichenfolge ist, und ich kann es nicht an den RegExp-Konstruktor übergeben, da es keine Zeichenfolge ohne die //
Zeichen ist. Gibt es eine andere Möglichkeit, eine Benutzereingabezeichenfolge in einen regulären Ausdruck zu verwandeln? Muss ich den String und die Flags der Regex mit den //
's analysieren und dann anders konstruieren? Soll ich sie eine Zeichenfolge eingeben lassen und dann die Flags separat eingeben?