Transformations

Comment extraire un code-barres d’un texte avec une expression régulière

2026-05-27
Objectif

Une valeur source contient un libellé et un candidat continu attendu de 8 ou de 12 à 14 chiffres ASCII. Il faut le conserver comme texte, préserver le zéro initial et ne pas extraire une partie d’une suite de chiffres plus longue.

Réponse courte

Dans Transformations, ajoutez deux règles dans cet ordre : d’abord Pas une expression régulière avec le motif de protection → Ne pas exporter le champ, puis Expression régulière avec le motif d’extraction → Tout supprimer sauf. La première règle vide une valeur non conforme ; la seconde conserve le premier candidat correspondant.

Comment le faire dans Eofferix

  1. Ouvrez les paramètres de la colonne ou du nœud de sortie. Le nom barcode n’est qu’un exemple : votre champ peut porter un autre nom. Conservez le résultat comme texte afin de préserver le zéro initial.

  2. Dans Transformations, ajoutez la règle de protection : Valeur actuellePas une expression régulière avec (^|[^0-9])(?:[0-9]{12,14}|[0-9]{8})([^0-9]|$)Ne pas exporter le champ.

  3. Juste après, ajoutez la règle d’extraction : Valeur actuelleExpression régulière avec (?:[0-9]{12,14}|[0-9]{8})Tout supprimer sauf. N’inversez pas l’ordre des deux règles.

    Deux règles pour extraire en sécurité un candidat de code-barres dans Eofferix
    La règle supérieure vide une valeur sans candidat autorisé ; la règle inférieure conserve le premier candidat d’une longueur admise.
  4. Appliquez les règles et vérifiez les exemples ci-dessous dans l’aperçu. Lancez ensuite un petit export de test et ouvrez le fichier obtenu : les valeurs non conformes doivent être vides et les valeurs conformes doivent correspondre au premier candidat trouvé.

Résultat attendu

Valeur sourceRésultatPourquoi
EAN: 40063813339314006381333931Un candidat distinct de 13 chiffres est trouvé.
barcode 012345678905012345678905Les 12 chiffres restent du texte, y compris le zéro initial.
code 1234567812345678Un candidat de 8 chiffres est admis.
1234567890123412345678901234Un candidat de 14 chiffres est admis.
123456789012345videIl ne faut pas extraire 14 chiffres d’une suite de chiffres plus longue.
ABC-12X34videIl n’existe aucun candidat continu d’une longueur admise.
first 12345678 second 400638133393112345678Si plusieurs candidats correspondent, le premier est conservé.

Contrôles avant l’export

  • Les deux motifs utilisent les chiffres ASCII [0-9] et n’acceptent que 8 chiffres ou de 12 à 14 chiffres.
  • Les chiffres du candidat doivent être contigus. Si un fournisseur insère des espaces ou des tirets dans le code, ajoutez une normalisation séparée et testez de nouveau les cas limites.
  • Si plusieurs candidats correspondent, Tout supprimer sauf conserve le premier.
  • Cette méthode vérifie uniquement le format et la longueur. Elle ne vérifie pas le chiffre de contrôle EAN/UPC/GTIN et ne confirme pas qu’un produit portant ce code existe.

Traitez vos données plus vite avec Eofferix

Créez un compte gratuit pour automatiser catalogues et listes de prix selon vos règles.

S’inscrire