Cómo pasar una variable en expresiones regulares en jQuery / Javascript
Pregunta
¿Hay una manera de pasar una variable en una expresión regular en jQuery / Javascript?
Quiero hacer algo como:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(/variable_regex/);
En Rubí que sería capaz de hacer:
some_string.match(/#{variable_regex}/)
Encontrados un útil post:
¿Cómo puedo concatenar literales de expresiones regulares en JavaScript?
Solución 2
Es muy fácil:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(variable_regex);
Al igual perder la //. Si desea utilizar expresiones regulares complejas, puede utilizar la concatenación de cadenas:
var variable_regex = "b.";
var some_string = "foobar";
alert (some_string.match("f.*"+variable_regex));
Otros consejos
Javascript no apoyar la interpolación como Ruby - usted tiene que utilizar el constructor RegExp
:
var aString = "foobar";
var pattern = "bar";
var matches = aString.match(new RegExp(pattern));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow