Ваше регулярное выражение [uldr]{1,4}
будет ограничивать только разрешенные вами символы и ограничение длины.Кроме того, вы можете использовать отрицательный взгляд вперед, чтобы отвергать совпадения, в которых любой из персонажей повторяется, используя этот отрицательный взгляд вперед (?!.*(.).*\1)
, и вы можете использовать следующее модифицированное регулярное выражение:
^(?!.*(.).*\1)[uldr]{1,4}$
Demo1
Было бы более оптимизированное регулярное выражение, но немного менее читабельное, хотя.
^(?![uldr]*([uldr])[uldr]*\1)[uldr]{1,4}$
Demo2