In [.-_] the hyphen makes it so it matches chars between . and _. It needs to be rewritten with the hyphen at the end so it doesn't treat it as that: [._-]