For up to 36V input voltage and 2.5V or higher output there is a fairly simple way to combine TL431 for regulation and a pass transistor for power, shown in the datasheet.
I have used it with LM317 configured for constant current in place of the transistor to also get current limiting, but potentially some other solution could be devised for output currents in excess of what 317 can provide. Variable current limit would be harder to do, unless you are OK with doing it by swapping resistors

I'm not sure how stable such circuit would be with capacitive load.
There is also a thread here in "beginners" about a fully tested, but somewhat more complex lab PSU using LM324 and a bunch of power transistors.