in reply to zero-length match increments pos()
It's the global match that does the trick. Even for a zero-width pattern, global matching causes pos to be advanced to the next point in the string where a new match may be tried.
After Compline,Zaxo