It seems you already have the correct regex; could probably short it:
-(?:[A-Za-z0-9]{4}){2,8}$
Can't think of anything else.
Details are in this link.