in reply to Re^2: On zero-width negative lookahead assertions
in thread On zero-width negative lookahead assertions

There is a non-space character after the \s*. The (?!) part is a zero-width assertion. Zero-width means just that - it doesn't consume anything of the string to match. In stead of using the \S, one could also have used:
/root:(?>\s*)(?!...)/