Я разрабатываю тестер регулярных выражений в HTML и JavaScript. Пользователь вводит регулярное выражение, строку и выбирает функцию, которую они хотят протестировать (например, поиск, совпадение, замена и т.д.) С помощью переключателя, и программа отображает результаты, когда эта функция запускается с указанными аргументами. Естественно, будут дополнительные текстовые поля для дополнительных аргументов для замены и т.д.
Моя проблема - получить строку от пользователя и превратить ее в регулярное выражение. Если я скажу, что им не нужно иметь //
вокруг регулярного выражения, которое они вводят, то они не могут устанавливать флаги, такие как g
и i
. Поэтому они должны иметь //
вокруг выражения, но как я могу преобразовать эту строку в регулярное выражение? Он не может быть литералом с его строки, и я не могу передать его конструктору RegExp, так как он не является строкой без //
. Есть ли другой способ сделать строку ввода пользователя в регулярное выражение? Должен ли я проанализировать строку и флаги регулярного выражения с помощью //
, а затем построить его другим способом? Должен ли я им вводить строку, а затем вводить флаги отдельно?