lucy24 - 11:51 am on Aug 23, 2013 (gmt 0)
Character constraints, here using \w as shorthand for [a-z0-9]:
You could add a third element
to eliminate multiple hyphens, but you'd then need to add some other stuff to exclude initial and final hyphens. I don't think you'd gain anything.
Alternative RegEx with separate !-- exclusion:
That's if your patterns can be as little as 1 or 2 letters.
Technically \w includes _ lowline but here I'm assuming you won't have any.
Pay close attention to the difference between brackets  and parentheses ().