in reply to Cleaner Regex

Your substitution source code mismatched open-parenthese for close-curly-brace.

Oh I see. You capture everything between eval and the closing brace. Why not start your capture just inside the opening curly-brace?

eval \s* \{ [^}]* \}