It's not complex, it's just nasty.
Either go back to where you got that from - because if you had written it you'd know how it worked - or learn regexes and modify it yourself. We can't do it for you because we have no idea where it is supposed to allow '-' and where it isn't: parts of that already permit hyphens explicitly.
This may help:
Expresso[
^] - it's free, and it examines and generates Regular expressions.