我正在设计一个HTML和JavaScript的正则表达式测试程序.用户将输入正则表达式,字符串,并通过单选按钮选择要测试的功能(例如搜索,匹配,替换等),程序将在使用指定参数运行该功能时显示结果.当然会有额外的文本框用于替换等额外的参数.
我的问题是从用户获取字符串并将其转换为正则表达式.如果我说他们不需要//围绕他们进入的正则表达式,那么他们就不能设置标志,比如g和i.所以他们必须有//表达式,但是如何将该字符串转换为正则表达式?它不能是一个文字,因为它是一个字符串,我不能将它传递给RegExp构造函数,因为它不是没有字符串的字符串//.有没有其他方法可以将用户输入字符串转换为正则表达式?我是否必须用//'s 解析正则表达式的字符串和标志然后以另一种方式构造它?我应该让他们输入一个字符串,然后单独输入标志吗?
我正在尝试创建类似于此的东西:
var regexp_loc = /e/i;
Run Code Online (Sandbox Code Playgroud)
除了我希望regexp依赖于一个字符串,所以我尝试使用新的RegExp,但我无法得到我想要的.
基本上我希望e上面的regexp是一个字符串变量,但我的语法失败了.
我试过这样的事情:
var keyword = "something";
var test_regexp = new RegExp("/" + keyword + "/i");
Run Code Online (Sandbox Code Playgroud)
基本上我想在一个更大的字符串中搜索一个子字符串然后用一些其他字符串替换该字符串,不区分大小写.
亚历山大