JavaScript replace/regex

You need to double escape any RegExp characters (once for the slash in the string and once for the regexp):

  "$TESTONE $TESTONE".replace( new RegExp("\\$TESTONE","gm"),"foo")

Otherwise, it looks for the end of the line and ‘TESTONE’ (which it never finds).

Personally, I’m not a big fan of building regexp’s using strings for this reason. The level of escaping that’s needed could lead you to drink. I’m sure others feel differently though and like drinking when writing regexes.

Leave a Comment