Duas razões:
- Você encerrou sua string de regex com
/. Os nomes de arquivos não terminam com/. - Aparentemente RegExr tem um bug:
para incluir um traço literal (
-) em uma expressão de colchetes regex, deve ser o primeiro caractere, imediatamente após o[(ou após o^inicial, se houver), ou o último caractere, imediatamente antes do]. Você não tem permissão para colocá-lo no meio, nem mesmo com um\na frente dele.
Mas também:
-
^,-,[e]são os únicos caracteres individuais que são especiais em uma expressão de colchetes regex; você não precisa escapar de.- e não há motivo algum para escapar de_.
Assim, seu regex poderia / deveria ser .*/[-a-z0-9_.]+\.(gz|deb) .