gudn tach!
(?=[-0-9_]*[a-zA-Z])(?=[-a-zA-Z_]*[0-9])[-0-9a-zA-Z_]+
dieser ausdruck setzt voraus, dass der string mind. drei zeichen lang ist. das war jedoch keine vom OP genannte voraussetzung. "a4" waere nach dessen vorgaben ok, wuerde aber durch obige pruefung rasseln.
kaese!
ich nehm alles zurueck!
sorry, habe irgendwie automatisch ?: statt ?= gelesen.
prost
seth