Projektuję tester wyrażeń regularnych w HTML i JavaScript. Użytkownik wprowadzi wyrażenie regularne, ciąg znaków i wybierze funkcję, którą chce przetestować (np. Wyszukaj, dopasuj, zamień itp.) Przyciskiem radiowym, a program wyświetli wyniki, gdy funkcja ta zostanie uruchomiona z podanymi argumentami. Oczywiście będą dodatkowe pola tekstowe do zastąpienia dodatkowych argumentów i tak dalej.
Moim problemem jest pobranie ciągu od użytkownika i przekształcenie go w wyrażenie regularne. Jeśli powiem, że nie muszą mieć //
przedrostka, do którego wchodzą, to nie mogą ustawiać flag, takich jak g
i i
. Muszą więc mieć //
wokół wyrażenia, ale jak mogę przekonwertować ten ciąg na wyrażenie regularne? Nie może być literałem, ponieważ jest łańcuchem i nie mogę przekazać go konstruktorowi RegExp, ponieważ nie jest łańcuchem bez //
liter. Czy istnieje inny sposób przekształcenia ciągu wejściowego użytkownika w wyrażenie regularne? Czy będę musiał przeanalizować ciąg i flagi wyrażenia regularnego z literami //
„s”, a następnie skonstruować go w inny sposób? Czy powinienem je wprowadzić ciąg, a następnie osobno wprowadzić flagi?