@nazar-lynovetsky

Какое RegExp выражение подойдет для проверки строки со следующими условиями?

Помогите написать регулярку для валидации строки по следующим условиям:

1. Строка может содержать только символы - a, b, c, d, e, f.
2. Строка может содержать только числа больше 3 (от числа 3 до бесконечности).
3. Строка должна начинаться с буквенного символа.
4. Повторяющихся (одинаковых) буквенных символов подряд не может быть больше двух.
5. Число не может стоять после двух подряд повторяющихся (одинаковых) буквенных символов. ("aa3" например, не должно проходить проверку).

Для большего понимания приведу несколько примеров:

"abcbdbefab" - TRUE
"eebbaaccddeeff" - TRUE
"f3b4c5d6e712f3" - TRUE
"aab3a3eef" - TRUE

"aaabcссd" - FALSE (нельзя больше двух подряд одинаковых буквенных символа)
"f7bb6e" - FALSE (нельзя цифру после двух подряд одинаковых буквенных символа)
"3aab5" - FALSE (нельзя что бы строка начиналась с цифры)
"a2b1" - FALSE (нельзя использовать числа меньше числа 3)

Надеюсь я понятно объяснил.
Очень прошу вашей помощи!
Заранее признателен.

Код проверки:
const string = "d3bc55aab32ef" // такая строка должна вернуть TRUE так как она подходит под все 5 пунктов
const regExp = ???
return regExp.test(string) // return TRUE
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
@dodo512
/^(?!.*?([a-f])\1(?:\1|\d))[a-f](?:[a-f]|[3-9]\d*|[12]\d+)*$/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы