Bonjour,

Je cherche l'expression régulière pour matcher des noms de fichiers comme:
filename.txt
filename-45.txt
ça fonctionne avec cette regex
Code : Sélectionner tout - Visualiser dans une fenêtre à part
#^filename[\-]{0,1}[0-9]{0,}\.txt$#
Le problème c'est que des noms de fichiers comme
filename45.txt
filename-.txt
sont aussi matchés.

Il faudrait donc que la recherche sur les chiffres se fasse uniquement si un tiret est trouvé
en fin de nom, ce qui retournerait false pour les 2 cas plus haut.

Seulement je galère avec les assertions et les sous masques.
J'ai essayé ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
#^filename(?<=-)[0-9]{1,}\.txt$#
mais ça ne fonctionne pas.

Quelqu'un pourrait m'aider ?



Merci