Une IA propose une expression pour repérer des noms de fichiers PDF. Le premier exemple est accepté : tout semble prêt. Mais accepte-t-elle aussi une sauvegarde terminant par .pdf.bak, ou un nom avec une lettre à la place du point ? Un seul résultat correct ne répond pas à ces questions.
Définissez la règle avant l’expression
Pour cet exercice, acceptez exactement le préfixe invoice_, puis trois chiffres de 0 à 9, puis .pdf, avec les minuscules indiquées. Le nom entier doit correspondre, sans chemin de dossier. Ce sont les critères de l’exemple, pas une règle pour tous les PDF.
Précisez à l’assistant l’outil qui exécutera l’expression. En Python, re.search cherche une correspondance quelque part dans la chaîne, tandis que re.fullmatch exige qu’elle couvre toute la chaîne. Le point a également un sens particulier s’il n’est pas traité comme un caractère littéral. D’autres outils peuvent utiliser une syntaxe ou des options différentes.
Fixez ces résultats avant de tester :
invoice_007.pdf: accepter.invoice_07.pdf: refuser ; seulement deux chiffres.xinvoice_007.pdf: refuser ; un préfixe supplémentaire.invoice_007Xpdf: refuser ; le point manque.invoice_007.pdf.bak: refuser ; du texte suit l’extension.Invoice_007.PDF: refuser selon cette règle qui distingue majuscules et minuscules.
Séparez la sélection des modifications
Exécutez l’expression sur des chaînes d’exemple et comparez chaque résultat à la liste. Demandez une explication des écarts, puis relancez tous les cas après correction, pas seulement celui qui échouait. NIST décrit des réponses générées qui s’écartent de la demande tout en paraissant sûres. Une explication convaincante ne remplace pas un résultat vérifié.
N’envisagez de renommer ou déplacer les fichiers qu’une fois la sélection correcte. Commencez par afficher les changements proposés, examinez-les et gardez une copie récupérable. Une bonne expression ne vérifie ni les conflits entre nouveaux noms ni votre intention de modifier chacun des fichiers retenus.