The Content Tagging option in the ACP does have a field for "Tag match regular expression:" which could be used to restrict the allowed characters. I'm not a Regex wizard though, so I can't really give you the proper expression to use.
The below will give you the desired effect on an "Instagram" level where you may not begin a tag with a number, nor can you begin or end it with any special characters (hyphen included). IE: this-tag works but -this-tag- doesn't, 2019-doesnt, year-2019 does. ^(?!^\W)^(?!^\d)(?!.[I][\W]$)[a-z0-9-][/I]$
Facebook allows numbers in the beginning, and if you're looking at software, this might be best as some software might be named 1-virus-removal (example) which wouldn't work with the above as it excludes the first character being a digit. If you want that, and like 2019-windows-update to work, use below: ^(?!^\W)(?!.*[\W]$)[a-z0-9-]*$
Stick your preference in ACP -> Setup -> Options -> Content tagging -> "Tag match regular expression:"