Ich entwickle ein Prüfprogramm für reguläre Ausdrücke in HTML und JavaScript. Der Benutzer gibt einen Regex, eine Zeichenkette, ein und wählt die Funktion, mit der er testen möchte (z.B. Suchen, Vergleichen, Ersetzen, etc.) per Radiobutton und 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 zusätzlichen Argumente zum Ersetzen und so weiter.
Mein Problem ist es, die Zeichenfolge vom Benutzer zu erhalten und sie in einen regulären Ausdruck zu verwandeln. Wenn ich sage, dass sie nicht brauchen, um zu haben //
um den eingegebenen Regex herum, dann können sie keine Flags setzen, wie g
y i
. Sie müssen also über die //
um den Ausdruck herum, aber wie kann ich diese Zeichenfolge in einen Regex umwandeln? Sie kann kein Literal sein, da sie eine Zeichenkette ist, und ich kann sie nicht an den RegExp-Konstruktor übergeben, da sie keine Zeichenkette ohne das //
's. Gibt es eine andere Möglichkeit, eine Benutzereingabe in eine Regex zu verwandeln? Muss ich die Zeichenkette und die Flags der Regex mit dem //
Wie kann man sie dann anders konstruieren? Sollte ich sie eine Zeichenkette eingeben lassen und dann die Flaggen separat eingeben?