Regex. Условие вхождения в строку символов из нескольких диапазовон

koder_

Новичок
Помогите пожалуйста с регекспом. Нужно написать регулярное выражение которое будет проверять строку на соответствие следующим правилам:

1. Длина строки от 4 до 6 символов
2. В строке обязательно должно быть по одному символу из каждого из следующих диапазонов
У меня проблема со вторым условием. Не могу понять как это сделать.

Самый близкий к решению вариант у меня выглядит так
/^(?=[a-z]+(?=[A-Z]+(?=[0-9]+(?=[*+@#]+))))[a-zA-Z0-9*+@#]{4,6}$/
Но это работает только на строке вида aA9#. Если сделать обратный порядок символов, то уже не отлавливается.

Покрутить можно тут: rubular.com/r/nkltxiluMv
 

koder_

Новичок
Спортивный интерес. Это не реально? Я надеялся что просто не знаю чего-то важного и тут мне откроют глаза
 

Beavis

Banned
это нецелесообразно
проще соединить несколько регулярок с помощью &&
 
Сверху