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