* Zu früh alt, zu spät klug: This is a literal translation, but it sounds somewhat awkward and unnatural to a native German speaker. It's understandable, but not idiomatic.
* Man ist zu jung, um weise zu sein, und zu alt, um es zu lernen: This translates to "One is too young to be wise, and too old to learn it." This is a more elegant and idiomatic way to express the regret of not having learned sooner.
* Ich hätte früher klüger sein sollen: This translates to "I should have been smarter earlier." This is a more personal and direct way of expressing the regret.
* Viel zu spät begriffen: This translates to "Understood much too late." This focuses on the realization of past mistakes.
The best choice depends on the context. If you want a concise but slightly unnatural option, use "Zu früh alt, zu spät klug." If you want something more natural and idiomatic, use one of the other options, choosing the one that best fits the situation and desired emphasis.