molily: regex mit variable und pluszeichen

Beitrag lesen

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

Ich habe hier replace als Beispiel verwendet, bei search ist es natürlich dasselbe.

Wenn du einen String an search übergibst, so wird er automatisch in eine RegExp umgewandelt. Also:

'abc+def'.search('\+' + varname)

'abc+def'.search('+' + varname) hingegen würde einen Fehler auslösen (SyntaxError: invalid quantifier). Derselbe Fehler passiert bei new RegExp('+' + varname), was zeigt, dass intern new RegExp aufgerufen wird.

Das + muss hier eben escapet werden, sonst wird es als Quantifier behandelt. Am Beginn eines regulären Ausdrucks wäre das aber Quatsch.

Mathias