* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
\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 ])