Regular expressions are probably not enough for parsing formulas (depending of course on the exact task given), they usually are at least a context free language.
Regular expressions are definitely enough for turning characters into tokens, after which a simple recursive descent parser is vastly more straightforward to write. Lexing is optional, but generally advised.