Bonjour à tous

Je ne suis pas familier avec les RegEx, je les ai déjà utilisées quelques fois et j'ai toujours réussi à me dépatouiller mais là... Je tourne en rond

Je souhaite valider et découper un chemin cible vers un serveur ftp. Les formes qui doivent être accepté sont les suivantes:
  1. /aFFAIRE/prepa_trx/TestAlice/Mon fichier.csv
  2. prepa_trx/TestAlice/Mon fichier.csv
  3. /AFFAIRE/prepa_trx/TestAlice/
  4. /prepa_trx/TestAlice/Mon fichier.csv
  5. /AFFAIRE/prepa_trx/TestAlice


J'ai créé l'expression suivante (du moins c'est cells qui semble le plus proche de ce que je souhaite réaliser)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
^(\/AFFAIRE\/)?\/?((?:(?:[a-z0-9_\-^!#$%&+={}.\\[\]\ ])+\/|$)*)((?:[a-z0-9_\-^!#$%&+={}.\ ])+(?:\.[a-z0-9]{2,4}$))?|$ (avec igm; j'ai mis le m pour faire mes tests, je le retire en "prod")
En terme de validité, je cherche à avoir
  1. "/AFFAIRE/" si présent
  2. (/)prepa_trx/TestAlice(/) le chemin
  3. Mon Fichier.csv ... le nom du fichier


Je valide les 3 premières lignes, partiellement la 4ème (le / du début n'est pas retenu mais ça ne me dérange pas, c'est même mieux).
Par contre la 5ème forme me résiste, si je rends facultatif le / dans le second groupe, il considère le nom de fichier comme faisant partie du chemin.

Si quelqu'un pouvez me filer un coup de main, ce serait sympa

Je vous souhaite une bonne soirée

++
Qwaz