molily: regex mit variable und pluszeichen

Beitrag lesen

Du notierst das + ganz normal in der RegExp, musst es aber mit einem \ davor escapen.

Klar. Nur habe ich (im Beispiel) das d in einer Variablen stehen.

Das ist hier eine sehr häufig gestellte Frage. Die Lösung ist der Konstruktor new RegExp() anstelle des RegExp-Literals /.../, welcher einen String entgegennimmt:

var varname = 'def';  
var exp = new RegExp('\\+' + varname);  
var str = 'abc+def';  
alert( str.replace(exp, '123') );

-> abc123

Hier musst du \ schreiben, weil es ein String ist, das wird dann zu einem Backslash bei der Übergabe an RegExp.

Mathias