Consider two operators A and B.
Assume [A,B] = C,  [A,C] = [B,C] = 0.
Often C is just a number times the identity operator.

[A, exp(gB)] = [A, 1 + gB + (g2/2!)B2 + (g3/3!)B3 + ... ]
= gC + (g2/2!)2BC + (g3/3!)3B2C + ...
= gCexp(gB).

[A,B2] = CB-BC = 2BC.
[A,Bn] = nCBn-1 holds for n = 1 and 2.
We show that if it holds for n it also holds for n+1.
Then [A,Bn+1] = B[[A,Bn] + [A,B]Bn = BnCBn-1 + CBn = (n+1)CBn.
Therefore it holds for all n.

Let f(x) = eAxeBx,  with x a continuous variable.
df/dx = AeAxeBx + eAxeBxB = f(x)(e-BxAeBx + B)
= f(x) (e-Bx(eBxA + x[A,B]eBx + B)) = f(x)(A + x[A,B] + B)
using the expression we proved above.

df/dx = f(x)(A + x[A,B] + B) is a differential equation with solution
f(x) = e(A+B)xexp(½x2[A,B]).
For x = 1 we therefore have e(A+B) = eAeB exp(-½x2[A,B]).