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