Estou projetando um testador de expressões regulares em HTML e JavaScript. O usuário digitará um regex, uma string e escolherá a função com a qual deseja testar (por exemplo, pesquisar, corresponder, substituir etc.) via botão de opção e o programa exibirá os resultados quando essa função for executada com os argumentos especificados. Naturalmente, haverá caixas de texto extras para substituir os argumentos extras.
Meu problema é obter a string do usuário e transformá-la em uma expressão regular. Se eu disser que eles não precisam ter //
o regex que inserem, eles não podem definir sinalizadores, como g
e i
. Portanto, eles precisam ter os caracteres //
ao redor da expressão, mas como posso converter essa string em um regex? Não pode ser um literal, pois é uma string, e não posso transmiti-lo ao construtor RegExp, pois não é uma string sem os //
. Existe alguma outra maneira de transformar uma sequência de entrada do usuário em uma regex? Terei que analisar a string e as bandeiras do regex com os //
e depois construí-lo de outra maneira? Devo fazê-los inserir uma sequência e inserir as bandeiras separadamente?