Задать вопрос
FilimoniC
@FilimoniC

RegEx для слов из букв _И_ цифр

Подскажите, можно ли одним выражением проверить, состоит ли слово из букв и цифр. Условия такие:
* Символы могут располагаться в любом порядке (может начинаться\кончаться с буквы или цифры)
* Слово состоит из латинских букв и цифр
* Слово НЕ состоит только из букв
* Слово НЕ состоит только из цифр
  • Вопрос задан
  • 19986 просмотров
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
Почему нет? Можно. Занимаясь написание регекспов нужно оперировать не логическими условиями, а порядом символов в строке. Ваша строка выглядит так:
((одна или более букв, затем одна или более цифра) либо (одна или более цифр, затем одна или более букв)) затем опционально буквы либо цифры

Вот и регесп:
(([a-z]+\d+)|(\d+[a-z]+))[a-z\d]*

regexr.com?33fas
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
fear86
@fear86
Developer
У меня получилось так:
(?<=\d)[A-z]|(?<=[A-z])\d
Ответ написан
SLY_G
@SLY_G
журналист, переводчик, программист, стартапщик
Одним — вряд ли. Да и зачем? Надо, чтоб работало, или надо, чтобы было круто? :)
Нужно три проверки — что только буквы+цифры, что есть буквы, что есть цифры.

/^[a-z0-9]+$/ && /[a-z]/ && /[0-9]/
Ответ написан
fear86
@fear86
Developer
---
Ответ написан
Комментировать
akzhan
@akzhan
/^(?:\d+\w|\w+\d)[\w\d]+$/
Ответ написан
Комментировать
fear86
@fear86
Developer
Фейл regexr.com?33gal

упс сюда надобыло habrahabr.ru/qa/32825/#answer_128961
Ответ написан
Комментировать
@aleksdenni
Возможно так.
\b(\d+\w+)\b|\b(\w+\d+)\b|\b(\d+\w+\d+)\b|\b(\w+\d+\w+)\b
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы