 
 # Regex-matching-regexes.
 REGEX_START        : /^\/[^\/ ]/
-REGEX_INTERPOLATION: /[^\\]\$[a-zA-Z_@]/
+REGEX_INTERPOLATION: /([^\\]\$[a-zA-Z_@]|[^\\]\$\{.*[^\\]\})/
 REGEX_FLAGS        : /^[imgy]{0,4}/
 REGEX_ESCAPE       : /\\[^\$]/g
 

          levels.push(pair)
          i += open.length - 1
          break
      break unless levels.length
      i += 1
    if levels.length
      return false if delimited[0][0] is '/'
      throw new Error "SyntaxError: Unterminated ${levels.pop()[0]} starting on line ${@line + 1}"
    return false if i is 0
    return str.substring(0, i)

    return false if     include NOT_REGEX, @tag()
    return false unless regex: @balanced_token ['/', '/']
    regex += (flags: @chunk.substr(regex.length).match(REGEX_FLAGS))
    if regex.match REGEX_INTERPOLATION
      str: regex.substring(1).split('/')[0]
      str: str.replace REGEX_ESCAPE, (escaped) -> '\\' + escaped
      @tokens: @tokens.concat [['(', '('], ['NEW', 'new'], ['IDENTIFIER', 'RegExp'], ['CALL_START', '(']]
