Come passare una variabile in regex in jQuery / Javascript
Domanda
C'è un modo per passare una variabile in una regex in jQuery / Javascript?
Voglio fare qualcosa di simile:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(/variable_regex/);
In Ruby si sarebbe in grado di fare:
some_string.match(/#{variable_regex}/)
Trovato un post utile:
Soluzione 2
E 'facile:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(variable_regex);
Basta perdere l'//. Se si desidera utilizzare espressioni regolari complesse, è possibile utilizzare la concatenazione di stringhe:
var variable_regex = "b.";
var some_string = "foobar";
alert (some_string.match("f.*"+variable_regex));
Altri suggerimenti
JavaScript non supporta l'interpolazione come Ruby - si deve utilizzare il costruttore RegExp
:
var aString = "foobar";
var pattern = "bar";
var matches = aString.match(new RegExp(pattern));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow