NOM FICHIER

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 17 sept. 2008 à 21:38
PhiLho Messages postés 4 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 12 novembre 2008 - 2 oct. 2008 à 01:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47938-nom-fichier

PhiLho Messages postés 4 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 12 novembre 2008
2 oct. 2008 à 01:30
Pas mal, mais il y a un peu trop de captures (inutiles) et d'échappements (la plupart inutiles dans une classe de caractères : [^\\/:*?"|<>. ] est correct), compliquant inutilement l'expression.
De plus, je ne comprends pas la restriction contre le point en début de nom de fichier ou de répertoire, assez courant dans le monde Unix (fichiers cachés) et fort utilisé par les utilitaires venant de ce monde (Gimp, Scribus, Eclipse...).
Quelques bonnes astuces, en tout cas.

Autre cas non couvert : \a\b.c est valide. Et comme le fait remarquer zen69, les chemins a/b/c sont valables sous WinXP/Vista.

L'expression suivante semble couvrir mes remarques :

^(([a-zA-Z]:|(\\|/))?(\\|/))?(([^\\/:*?"|<> ]([^\\/:*?"|<> ]|[^\\/:*?"|<>]*[^\\/:*?"|<>. ])?)(\\|/))*([^\\/:*?"|<> ]([^\\/:*?"|<> ]|[^\\/:*?"|<>]*[^\\/:*?"|<>. ])?)?$

Je n'ai pas désactivé les captures (?:foo), pour simplifier...
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
17 sept. 2008 à 21:38
est-ce qu'il accept les chemain de style linux avec des /
Rejoignez-nous