Just now while attempting to perform a substitution in GVim, I found that the regex was not working as expected. Apparently, instead of matching all non-whitespace characters denoted by the shorthand class
\S, the engine was matching the letter S instead, which was odd. It turns out that, as usual, I was the one at fault. What I was doing wrong was attempting to use the character class within
 groups. Thinking about it further, it is reasonably redundant to nest one class within another and therefore, understandable.
To conclude, using something like
[\S] will not match non-whitespace characters. For that to happen, just use
\S. For cases where you want to group multiple character classes together, use explicit
 groups rather than shorthand notation like