I've just removed the ^ too and as expected - makes no difference.
Correct setup for analog is
M558 P1 C"zprobe.in" R0.5 H3 F360 T9000 A5 S0.03 ; P1 = Analogue mode
G31 X0 Y0 Z-0.1 P530 ; X, Y, Z offsets, P530 = trigger threshold
and for digital:
M558 P8 C"^!zprobe.in" R0.5 H3 F240 T9000 A5 S0.03 ; P8 = Digital mode (unfiltered)
G31 X0 Y0 Z-0.1 P100 ; X, Y, Z offsets, P100 = debounce interval