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?

¿Fue útil?

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
scroll top