+? matches the previous token between one and unlimited times, as few times as possible, expanding as needed (lazy)
\s matches any whitespace character (equivalent to [\r\n\t\f\v ])
\S matches any non-whitespace character (equivalent to [^\r\n\t\f\v ])