Это мое регулярное выражение
^(?![^az])(?!.*\.\.)[a-z0-9._]+([az])$
правила
Строка должна начинаться и заканчиваться на [az]
двойной. в строке не допускается
double _ в строке разрешено (должно быть, это не так)
Разрешенные символы: [a-z0-9_.]
все работает так, как будто я хочу, но я не могу ограничить 2 o больше _ в строке, для которой он так же ограничен. но не работает для _
Это онлайн-редактор: https://regex101.com/r/XJXlpS/2
что случилось?
Вы можете использовать это регулярное выражение:
/^(?![^a-z])(?!.*([_.])\1)[\w.]*[a-z]$/gmi
RegEx Breakup:
^
: Начать(?![^az])
: Убедитесь, что первый символ - это письмо(?!.*([_.])\1)
: Убедитесь, что у нас нет повторного подчеркивания или точки[\w.]*
: сопоставить слова 0+ слова или точки[az]
: сопоставить письмо в конце$
: Конец_
непрерывно ..
ab__c
- неудачное совпадение в связанной демонстрации.