the ~? mark say 1 of these at the start or none at the start. In old versions we didn't see (maybe didn't allow?) partial negation, so only at the start made sense.
The position of the last dash is what says it isn't a range character, I'm not sure where I found that info, but my notes say "don't move this or it becomes a range indicator".
The defaults have changed/improved over several releases and are quite different in the VX.1.1 versions.
^(((?!((\d+\:\d+)|{.*}|[@'\\<>*,;])).)*)?$ -- you can see it is very different and uses some RE shorthand that I believe is covered in the RE section of the doc. It also has separate check for buses.