web-dev-qa-db-ja.com

jQuery / Javascriptで変数を正規表現に渡す方法

JQuery/Javascriptの正規表現に変数を渡す方法はありますか?

私は次のようなことをしたい:

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

some_string.match(/variable_regex/);
_

Rubyでできること:

some_string.match(/#{variable_regex}/)

役に立つ投稿を見つけました:

JavaScriptで正規表現リテラルを連結するにはどうすればよいですか?

42
cinematic

それは簡単です:

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));
24
user181548

JavascriptはRubyのような補間をサポートしていません-RegExpコンストラクターを使用する必要があります:

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

var matches = aString.match(new RegExp(pattern));
60