У меня есть следующее регулярное выражение:Regex - Обнаружение двух или более последовательных символов
^[A-Z]{2}[0-9A-Z]{1}([0-9A-Z_-]{0,38}[0-9A-Z]{1}){0,1}$
, которая подтверждает, что:
- Строка имеет от 3 до 42 символов
- только буквы, числа, - или _ могут использоваться
- Первые две позиции - это буквы
- Третий символ не может быть символом (_ или -)
- Последний символ не может быть символом (_ или -)
мне нужно обновить регулярное выражение для определения строки, которые имеют одинаковые последовательные символы (-, __, - или -):
- RR1_-1 (НЕ ДЕЙСТВУЕТ)
- RR1___1 (НЕ ДЕЙСТВУЕТ)
- RR1-1-1 (ДЕЙСТВИТЕЛЕН)
Я закончил:
^[A-Z]{2}[0-9A-Z]{1}([0-9A-Z_-]{0,38}(?!(--|__|-_|_-))[0-9A-Z]{1}){0,1}$
Но это не работает. Как определить два последовательных символа?
Можете ли вы уточнить, что именно запрещено? –