Регулярному выражению соответствует только строка, которая не содержит пробелов. Похоже, ваш метод сопоставления применяет регулярное выражение ко всей строке, поэтому он не работает.
[abc]
является классом символов, что означает «либо a
, b
, либо c
».
[^abc]
является инверсией этого класса, означающей «любой символ, кроме a
, b
или c
».
\s
означает «любой символ пробела».
[^\s]
(который также можно записать как \S
) означает «любой непробельный символ».
+
означает «один или несколько из предыдущего токена.