Возможно кто-нибудь сможет подсказать в чем ошибка. Пишу данное регулярное выражение для проверки, чтобы было написано не менее одного слова/буквы/цифру с разделением пробелом или тире, с возможностью ставить точку или запятую, если это например слово:
^\s*[A-Za-z0-9\.\,]+(?:[\s\-]+[A-Za-z0-9\.\,\-]+)*\s
но работает лишь если в конце ставить пробел или написать цифры, если же в конце выражения заменить \s на $, то можно писать даже одно слово/букву/цифру, что в моем случае не должно быть.
Это выражение позволяет не дать пользователю писать символы в начале, как некоторые делают ставя тире, а именно должны писать слово.
Я также понимаю что можно это выражение написать короче, но мне так привычнее
Есть еще такое выражение, не уверен, что оно правильное, но вроде работает
^\s*[A-Za-z0-9\.\,]+(?:[\s\-]+[A-Za-z0-9\.\,\-]+){1,}$