Вы можете использовать положительный просмотр вперед (?=
, чтобы подтвердить хотя бы одно вхождение az и после этого сопоставить хотя бы одно di git [0-9]
.
До и после сопоставления di git, вы можете добавить .
_
и -
к классу символов [A-Za-z._-]*
и повторить это 0+ раз.
Обратите внимание, что класс символов соответствует одному из перечисленных символов. Это обозначение [?.?_?-]
, которое можно было бы записать как [?._-]
, также будет соответствовать вопросительному знаку вместо того, чтобы делать другие необязательными
^(?=[^a-z\n]*[a-z])[A-Za-z._-]*[0-9][A-Za-z0-9._-]*$
Regex demo