有没有办法将变量传递给jQuery/Javascript中的正则表达式?
我想做的事情如下:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(/variable_regex/);
Run Code Online (Sandbox Code Playgroud)
在Ruby中你可以做到:
some_string.match(/#{variable_regex}/)
找到一个有用的帖子:
Jon*_*ski 67
Javascript不支持Ruby之类的插值 - 你必须使用RegExp构造函数:
var aString = "foobar";
var pattern = "bar";
var matches = aString.match(new RegExp(pattern));
Run Code Online (Sandbox Code Playgroud)
小智 26
这很简单:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(variable_regex);
Run Code Online (Sandbox Code Playgroud)
只是失去了//.如果要使用复杂的正则表达式,可以使用字符串连接:
var variable_regex = "b.";
var some_string = "foobar";
alert (some_string.match("f.*"+variable_regex));
Run Code Online (Sandbox Code Playgroud)
Pur*_*lex 16
这很简单,您需要创建一个RegExp带有变量的实例。当我搜索答案时,我还希望用相关变量对该字符串进行插值。
在浏览器控制台中尝试一下:
const b = 'b';
const result = (new RegExp(`^a${b}c$`)).test('abc');
console.log(result);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38250 次 |
| 最近记录: |