Wenn man ein Minuszeichen als solches in einem regulären Ausdruck angeben will, gibt PHP gerne den REG_ERANGE-Fehler aus, obwohl der Ausdruck richtig (escaped) zu sein scheint. Einen Workaround fand ich hier, nämlich das Setzen des Hyphens ans Ende der Zeichenfolge.
Beispiel:
Eigentlich richtig, funktioniert aber nicht:
^([a-zA-Z0-9\-= ]{5,50})$
Korrektur, Minus als letztes Zeichen:
^([a-zA-Z0-9= -]{5,50})$