Masquer des informations identifiantes avec des expressions régulières
Les expressions régulières peuvent aussi servir à remplacer des motifs dans des chaînes avec REGEXP_REPLACE(). Cette fonction est similaire à REPLACE(). Sa signature est REGEXP_REPLACE(source, pattern, replace, flags).
patternest le motif de chaîne à rechercher dans la chaînesource.replaceest la chaîne de remplacement à utiliser à la place du motif.flagsest une chaîne optionnelle qui permet de contrôler la correspondance.
Par exemple, REGEXP_REPLACE(xyz, '\d', '_', 'g') remplace tout caractère numérique (\d) dans la colonne xyz par un souligné (_). L’indicateur g (« global ») garantit que chaque correspondance est remplacée.
Pour protéger la confidentialité des destinataires des contraventions de stationnement dans un nouveau rapport web, toutes les lettres de la colonne plate_id doivent être remplacées par un tiret (-) afin de masquer le véritable numéro de plaque d’immatriculation.
Cet exercice fait partie du cours
Nettoyer des données dans des bases PostgreSQL
Instructions
- Utilisez
REGEXP_REPLACE()pour remplacer toutes les lettres majuscules (AàZ) de la colonneplate_idpar un tiret (-) afin que des numéros de plaque masqués puissent être utilisés dans le rapport.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;