我正在用HTML和JavaScript设计一个正则表达式测试器。用户将输入一个正则表达式,一个字符串,并通过单选按钮选择他们想要测试的函数(例如搜索,匹配,替换等),当该函数以指定的参数运行时,程序将显示结果。自然会有额外的文本框用于替换额外的参数等等。
我的问题是从用户获取字符串并将其转换为正则表达式。如果我说它们不需要在输入的正则表达式周围有//
,那么它们就不能设置标记,比如g
和i
。所以它们必须在表达式周围有//
,但我如何将该字符串转换为正则表达式?它不能是一个字面量,因为它是一个字符串,我不能将它传递给RegExp构造函数,因为它不是一个没有//
的字符串。有没有其他方法让用户输入字符串到正则表达式?我必须用//
解析正则表达式的字符串和标志,然后以另一种方式构造它吗?我应该让他们输入一个字符串,然后分别输入标志吗?