Используя первый шаблон ^[^\s].+[^\s]$
ваша строка должна содержать не менее 3 символов, поскольку класс отрицательных символов требует совпадения, а .+
будет соответствовать 1+ раз любому символу, кроме новой строки.
Второй шаблон [^\s].+[^\s]
не привязан и также допускает частичное совпадение.
Если вы также хотите сопоставить a
или aa
, вы можете использовать отрицательный обходной путь, чтобы утверждать, что строка не заканчивается пробелом или табуляцией, и начинать совпадение с непробельным символом.
^(?!.*[ \t]$)\S.*$
^
Начало строки
(?!.*[ \t]$)
Отрицательный взгляд, утверждаем, что справа не пробел или табуляция в конце строки
\S
Соответствует непробельному символу
.*
Соответствует любому символу 0+ раз, кроме новой строки
$
Конец строки
Regex demo