"[^a-zA-Z0-9-_]" allows for whitespace.
"[^a-zA-Z0-9-_]"
The ^ means, match everything that isn't part of [a-zA-Z0-9-_]
^
[a-zA-Z0-9-_]