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:

Come posso concatenare letterali regex in Javascript?

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