Найти тему
47,9 тыс подписчиков

Если речь про регулярные выражения, то ответ у вас почти есть:


- [0-9] означает "любой символ от 0 до 9" (то есть любая цифра)

- [^0-9] означает "любой символ кроме тех что от 0 до 9" (то есть всё остальное, включая пробел)

После скобок также нужно добавить "+", чтобы искался не один символ, а серия таких символов ("плюс" в регулярке значит "от одного и больше").

Применяем полученные знания:

"Тест 555554".match(/[0-9]+/)[0] // вернёт '555554'

"Тест 555554".match(/[^0-9]+/)[0] // вернёт 'Тест '

Однако паролем могут быть не только цифры, так что по цифрам искать ненадёжно. Альтернативно можно взять части строки до и после первого пробела. На языке регулярных выражений это записывается так:

- ^.*?\s означает "взять от начала строки минимальное количество символов, заканчивающихся пробелом". В данном контексте символ ^ это не отрицание, а начало строки. Да, регулярки — штука запутанная.

- \s.*$ означает "взять максимальное количество символов от пробела до конца строки"

Проверяем:

"Тест 555554".match(/^.*?\s/)[0] // вернёт ' 555554'

"Тест 555554".match(/\s.*$/)[0] // вернёт 'Тест '

Как видите, результаты немного отличаются — теперь у нас в пароль затесался пробел. Если нужно искать по условию "начиная с пробела, не считая сам пробел", то в регулярках для этого можно использовать группы (скобки), или можно вырезать пробел уже из результата. В общем, нюансов много, обсуждать их можно долго, но основное направление я подсказал.

1 минута