Why aren’t hyphens or dashes allowed in hashtags?

Why is underscore allowed in hashtags(e.g #hello_world) but not dash(e.g #hello-world)?

And why don't Twitter and other applications allow digit-only hashtags e.g #123? [Edit: got the answer to this in response]