如何在jQuery / Javascript中将变量传递给正则表达式

有没有一种方法可以将变量传递到jQuery / Javascript中的正则表达式中?

我想做类似的事情:

var variable_regex = "bar";
var some_string = "foobar";

some_string.match(/variable_regex/);

在Ruby中,您可以执行以下操作:

some_string.match(/#{variable_regex}/)

找到了一个有用的帖子:

如何在JavaScript中连接正则表达式文字?

Community asked 2020-08-11T01:59:35Z
2个解决方案
63 votes

Javascript不像Ruby一样支持插值-您必须使用RegExp构造函数:

var aString = "foobar";
var pattern = "bar";

var matches = aString.match(new RegExp(pattern));
Jonathan Lonowski answered 2020-08-11T01:59:40Z
26 votes

这很容易:

var variable_regex = "bar";
var some_string = "foobar";

some_string.match(variable_regex);

只需丢失//。 如果要使用复杂的正则表达式,可以使用字符串连接:

var variable_regex = "b.";
var some_string = "foobar";

alert (some_string.match("f.*"+variable_regex));
answered 2020-08-11T02:00:05Z
translate from https://stackoverflow.com:/questions/1695633/how-to-pass-a-variable-into-regex-in-jquery-javascript