You can't specify the number of something in a character class (the brackets, which I assume you meant to put but Perlmonks snarfed them. Try using >code< tags next time :) ). But you are on the right track. This should do what you want:
/^(?:[0-9a-zA-Z]|\-{2,})/
I'm assuming you want ^ to match the beginning of the line. You don't put that inside the brackets unless you want to match a literal ^. Also note the \-{2,}. The comma is nessicary because it specifies that you want 2 or more hyphens. Just a 2 and it would look for exactly two hyphens. (if that's what you want then remove the comma).
I used ?: to keep the parenthisis from capturing the match, saves a little memory. You could take it out if you want to capture it for some reason.