Ich weiß nicht warum, aber mein Regex funktioniert nicht ...

$a = '_test[value][0]';
$b = $a.replace('/val/g','_');

Außerdem versuche ich etwas etwas Komplexes zu machen wie:

$b = $a.replace('/\[(.*)\]/g','_');

Irgendeine Idee?

1
Jean-philippe Emond 26 Nov. 2013 im 21:27

2 Antworten

Beste Antwort

Entfernen Sie Anführungszeichen aus dem regulären Ausdruck:

$b = $a.replace(/val/g, '_');
1
JJJ 26 Nov. 2013 im 17:30

Reguläre Ausdrücke benötigen keine Anführungszeichen $b = $a.replace(/val/g,'_');

Das einzige Mal, wenn Sie Anführungszeichen verwenden, ist das Ersetzen von Text durch jQuery.replace();

ZB: $b = $a.replace('replace this','with this');

(Vorausgesetzt, Ihr Code ist jQuery, basierend auf der Verwendung von $)

1
leaksterrr 26 Nov. 2013 im 17:31