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)
.