Règles sur les données - Exemples de regex

Cette page vient en complément du cours sur les Règles sur les données.

Elle propose des exemples d’expressions régulières (REGEX) applicables aux colonnes de vos jeux de données, afin de définir et de contrôler des règles de saisie.

Exemple de REGEX pour valider une colonne de codes postaux

  • Type de la colonne : texte

La colonne contient des codes, son type doit donc être défini comme texte.

  • Expression 1 : ^\d{5}$

Cette expression vérifie qu'une chaîne est composée uniquement de 5 chiffres, sans espace, lettre ou caractère spécial avant ou après.

Exemple de REGEX pour valider une colonne de codes INSEE Commune

  • Type de la colonne : texte

La colonne contient des codes, son type doit donc être défini comme texte.

  • Expression 1 : ^(2[AB]\d{3}|\d{5})$

Cette expression vérifie si une chaîne correspond à l’un des deux formats suivants :
une valeur de 5 chiffres ou une valeur commençant par 2A ou 2B suivi de 3 chiffres.

Exemple de REGEX pour valider une colonne de codes SIRENE

  • Type de la colonne : texte

La colonne contient des codes, son type doit donc être défini comme texte.

  • Expression 1 : ^\d{9}$

Cette expression vérifie qu'une chaîne est composée uniquement de 9 chiffres, sans espace, lettre ou caractère spécial avant ou après.

Exemple de REGEX pour valider une colonne de codes SIRET

  • Type de la colonne : texte

La colonne contient des codes, son type doit donc être défini comme texte.

  • Expression 1 : ^\d{14}$

Cette expression vérifie qu'une chaîne est composée uniquement de 14 chiffres, sans espace, lettre ou caractère spécial avant ou après.

Exemples de REGEX pour valider une URL

  • Type de la colonne : texte

La colonne contient des URL avec differents caractères, son type doit donc être défini comme texte.

  • Expression 1 : ^https?:\/\/[^\s\/$.?#].[^\s]*$

Cette expression vérifie qu’une chaîne commence par http:// ou https://, suivi d’un domaine ou chemin sans espaces ni caractères spéciaux interdits (/, $, ., ?, # en début de chemin).

  • Expression 2 : ^https?:\/\/[a-zA-Z0-9\-]+\.[a-z]{2,6}(\/\S*)?$

Cette expression vérifie qu’une URL commence par http:// ou https://, suivie d’un nom de domaine valide (lettres, chiffres ou tirets) et d’une extension de 2 à 6 lettres (comme .fr ou .com).
Elle autorise aussi un chemin optionnel après le domaine (ex. : /page), à condition qu’il ne contienne pas d’espaces.

  • Expression 3 : ^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

Cette expression régulière permet de vérifier si une chaîne est une URL valide, en contrôlant sa structure de base : elle doit commencer par http:// ou https://, contenir un nom de domaine (avec des lettres, chiffres ou symboles autorisés), et se terminer par une extension de 2 à 6 lettres.
Elle accepte également les chemins ou paramètres supplémentaires après le domaine, comme les sous-dossiers ou les requêtes (?id=1).

Exemples de REGEX pour valider un numéro de téléphone

  • Type de la colonne : texte

La colonne contient des numéros de téléphone avec des espaces, tirets ou parenthèses, son type doit donc être défini comme texte.

  • Expression 1 : ^0[1-9](\d{2}){4}$

Cette expression vérifie qu’un numéro de téléphone français commence par 0 (suivi d’un chiffre de 1 à 9) et contient exactement 10 chiffres au total.
Elle exclut les formats avec espaces, tirets ou indicatifs internationaux.
Elle accepte des formats comme 0123456789

  • Expression 2 : ^0[1-9]([\s-]?\d{2}){4}$

Cette expression valide un numéro de téléphone français commençant par 0 (suivi d’un chiffre de 1 à 9) et composé de 5 groupes de 2 chiffres, séparés éventuellement par un espace ou un tiret.
Elle accepte des formats comme 0123456789, 01 23 45 67 89 ou 01-23-45-67-89.

  • Expression 3 : ^\+[1-9]\d{0,2}[\s-]?[1-9]\d{2}([\s-]?\d{2,4}){2,4}$

Cette expression valide un numéro international commençant par + suivi d’un indicatif (ex. : +33), puis de groupes de 2 à 4 chiffres séparés par des espaces ou tirets. Elle accepte des formats comme +33123456789, +1 234-567-8901, +44 20 1234 5678.

  • Expression 4 : ^\+[1-9]\d{0,2}[\s-]?\(?[1-9]\d{1,2}\)?[\s-]?[1-9]\d{1,3}([\s-]?\(?\d{1,4}\)?){2,4}$

Cette expression valide un numéro international commençant par + suivi d’un indicatif (ex. : +33), et accepte des groupes de chiffres séparés par des espaces, tirets ou parenthèses, avec ou sans ces dernières.
Elle accepte des formats comme +33(0)123456789, +1 (234) 567-8901, +44-20-1234-5678.

Exemples de REGEX pour valider un email

  • Type de la colonne : texte

La colonne contient des email avec un @, son type doit donc être défini comme texte.

  • Expression 1 : (^$|^.*@.*\..*$)

Cette expression vérifie si une chaîne est soit vide (^$), soit un email valide (contenant un @ suivi d’un point, comme exemple@domaine.com).

  • Expression 2 : ^[^\s@]+@[^\s@]+\.[^\s@]+$

Cette expression vérifie qu’il y a au moins un caractère avant et après le @, ainsi qu’un point dans le domaine.

  • Expression 3 : ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Cette expression autorise les caractères courants dans un email et impose un domaine avec au moins 2 lettres après le point.