I was trying to validate a company name in a web application and had this regex pattern
^[a-zA-Z_\'\\\\s,;.-0-9]{1,100}$
The above pattern
It's probably because of the "-" inside the character group in the first one
^[a-zA-Z_'\s,;.\-0-9]{1,100}$
Escaspe it and it should be fine.
Remember, when inside the character group the chars you have to escape become
backslash \ caret ^ hyphen -