Regex Комбинация для принятия только слова или только буквы для проверки правильности - PullRequest
3 голосов
/ 28 сентября 2019

Я испытываю затруднения при создании проверки регулярного выражения для laravel, которая принимает только символы или только цифры.Это выглядит примерно так:

  • Привет <- ок </li>
  • 123 <- ок </li>
  • hello123 <-не ок </li>

мойregex прямо сейчас выглядит примерно так: [A-Za-z] | [0-9].

regex101 link

Любая помощь приветствуется

1 Ответ

5 голосов
/ 28 сентября 2019

Взгляните на это регулярное выражение:

^[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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...