Elisp regular expressions are case insensitive by default, so they should match uppercase letters too.
To just add a dash, you could simply put that into the second group. So [a-z0-9-], you don’t have to escape it because it can’t be a range operator if it’s at the end of the group. The same goes for any other character you want to match.
You could also use [\\w. _-] (notice the literal space between the dot and the underscore). The \w is a shorthand for A-Za-z0-9. This should match all valid filenames as long as they don’t contain letters with diacritics.
Elisp regular expressions are case insensitive by default, so they should match uppercase letters too.
To just add a dash, you could simply put that into the second group. So
[a-z0-9-]
, you don’t have to escape it because it can’t be a range operator if it’s at the end of the group. The same goes for any other character you want to match.You could also use
[\\w. _-]
(notice the literal space between the dot and the underscore). The\w
is a shorthand forA-Za-z0-9
. This should match all valid filenames as long as they don’t contain letters with diacritics.