Comment passer une variable dans regex dans jQuery / Javascript
Question
Y at-il un moyen de passer une variable dans une expression régulière dans jQuery / Javascript?
Je veux faire quelque chose comme:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(/variable_regex/);
Dans Ruby vous seriez en mesure de le faire:
some_string.match(/#{variable_regex}/)
trouvé un message utile:
La solution 2
Il est facile:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(variable_regex);
Il suffit de perdre le //. Si vous souhaitez utiliser des expressions rationnelles complexes, vous pouvez utiliser la concaténation de chaîne:
var variable_regex = "b.";
var some_string = "foobar";
alert (some_string.match("f.*"+variable_regex));
Autres conseils
Javascript ne fonctionne pas avec interpolation comme Ruby - vous devez utiliser le constructeur RegExp
:
var aString = "foobar";
var pattern = "bar";
var matches = aString.match(new RegExp(pattern));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow