Non so perché, ma il mio regex non funziona ...
$a = "_test[value][0]";
$b = $a.replace("/val/g","_");
Sto anche cercando di fare qualcosa di un po 'complesso come:
$b = $a.replace("/[(.*)]/g","_");
Qualche idea?
risposte:
1 per risposta № 1Rimuovi le virgolette dalla regex:
$b = $a.replace(/val/g, "_");
1 per risposta № 2
Le espressioni regolari non hanno bisogno di virgolette $b = $a.replace(/val/g,"_");
L'unica volta che hai usato le virgolette è sostituire il testo con jQuery.replace();
per esempio: $b = $a.replace("replace this","with this");
(presumendo che il tuo codice sia jQuery basato sull'uso di $)
0 per risposta № 3
Ci sono due modi per creare il Oggetto Regexp stai cercando di usare:
Da una stringa:
var regexp = new Regexp("val", "g");
Usando un letterale Regexp:
var regexp = /val/g;
Si noti che il letterale Regexp non ha virgolette, quindi quando lo si usa "/val/g"
come sostituto non stai usando le espressioni regolari, starai cercando di sostituire quella stringa letterale.
Quindi devi solo lasciare le virgolette:
$b = $a.replace(/val/g, "_");