- Et bien tu peux avoir l'entré
YYYYmmddHHMMSS_ARBUSTE_FICHE_POSTE_[A-Za-z0-9]{10}.pdf qui correspond avec
20220523084200_ARBUSTE_FICHE_POSTE_0123456789.pdf ou avec
20220523084200_ARBUSTE_FICHE_POSTE_1123456789.pdf
- Aussi
.* correspond a tout les fichiers
Il faudrait que les fichiers soient identiques en tout point
- Je ne comprend pas trop l'histoire de la transformation. Essayons déjà de définir le besoin de vérification
Très bien commençons par un moyen de vérification dans ce cas. La priorité est de déterminer si c'est exactement ce qui est écrit.
- Quelle est la contrainte ? Le fait qu'il y ait une vérification sur une date ou le formatage est imposé ?
Si c'est le premier cas il serait judicieux d'utiliser un formatage standard.
Si c'est le deuxième cas nous ferons avec mais l'expression de besoin serait à débattre.
En fait le formatage est imposé par mon fichier excel dont voici un extrait
^[0-9]{14}_ARBUSTE_GEST_RH\.csv
^[0-9]{14}_ARBUSTE_REF_COMP_MMA_ACTIVES\.csv
^[0-9]{14}_ARBUSTE_REF_COMP_DGA_ACTIVES\.csv
^[0-9]{14}_ARBUSTE_REF_COMP_DGA_INACTIVES\.csv
^[0-9]{14}_ARBUSTE_CV_[A-Za-z0-9_]+\.pdf
^[0-9]{14}_ARBUSTE_PLAN_ARME\.csv
^[0-9]{14}_ARBUSTE_FICHE_POSTE_[A-Za-z0-9]{10}\.pdf
^[0-9]{14}_ARBUSTE_EVLT_CARR\.csv
J'avance un peu dans ma tête et j'ai d'autres questions :
1) La vérification doit elle être sensible à la casse ?
Oui s'il y a des majuscules ou minuscules alors respect de la casse
2) La correspondante doit elle être "exacte" ou de type "contient" ?
exacte
3.0) Comment reconnaitre une entré de type RegExp d'une entré littérale ?
L'idéal serait que, mis à part le "timestamp" (qui est une date en vérité), chaque entrée soit une RegExp valide. Ce qui à l'air d'être le cas sur les exemples mais elle ne sont pas exactes (au vu des fichiers) :
-
YYYYmmddHHMMSS_ARBUSTE_EVLT_CARR.csv peut correspondre
20220523084200_ARBUSTE_EVLT_CARR.csv et
20220523084200_ARBUSTE_EVLT_CARR#csv par exemple.
La RegExp valide exacte serait plutôt
YYYYmmddHHMMSS_ARBUSTE_EVLT_CARR\.csv
3.1) Peux tu nous assurer que les entrées soit des RegExp valide exacte ?
En effet, la regexp exacte est celle que tu indique avec le backslash final
Par exemple une entré de ce type
YYYYmmddHHMMSS_ARBUSTE_EVLT_CARR[second.csv pour un fichier
20220523084200_ARBUSTE_EVLT_CARR[second.csv ressemble à une RegExp mais est invalide.
Ce point rejoint le 3.0, chaque entré devra être une RegExp valide exacte. C'est à dire que tous les caractères littéraux appartenant aux caractères spéciaux interprétés
+ * ? ^ $ ( ) [ ] { } | \ par une RegExp devront être échappés
Voir :
https://docs.microsoft.com/fr-fr/dot...ar-expressions
https://www3.ntu.edu.sg/home/ehchua/...to/Regexe.html
Donc le principale problème est de savoir si l'entrée est une RegExp ou pas et elle doit être correctement formatée pour une correspondance pertinente
Partager