Взгляните на это регулярное выражение:
^[a-zA-Z]+$|^[0-9]+$
Regex Demo
Вы были близки, но вы должны добавить началотеги ^
и конец строки $
, а также +
для совпадения не менее 1 с неограниченным числом раз.
Объяснение:
^ # start of line
[a-zA-Z]+ # match a-zA-Z recursively
$ # end of line
| # OR
^ # start of line
[0-9]+ # match [0-9] recursively
$ # end of line
Бонус:
Если у вас есть текст блока и вы хотите извлечь совпадения, которые состоят только из букв или цифр, вместо начальных и конечных символов вы можете использовать границы слов:
\b[a-zA-Z]+\b|\b[0-9]+\b
Regex Demo