Masquer des renseignements identificatoires avec des expressions régulières
Les expressions régulières peuvent aussi servir à remplacer des motifs dans des chaînes au moyen de REGEXP_REPLACE(). Cette fonction est semblable à REPLACE(). Sa signature est REGEXP_REPLACE(source, pattern, replace, flags).
patternest le motif de chaîne à repérer dans la chaînesource.replaceest la chaîne de remplacement à utiliser à la place du motif.flagsest une chaîne facultative qui sert à contrôler la correspondance.
Par exemple, REGEXP_REPLACE(xyz, '\d', '_', 'g') remplace tout chiffre (\d) dans la colonne xyz par un trait de soulignement (_). L'indicateur g (« global ») garantit que chaque correspondance est remplacée.
Pour protéger la vie privée des personnes recevant des constats d'infraction 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.
Cette activité fait partie du cours
Nettoyer des données dans des bases de données PostgreSQL
Instructions de l’exercice
- Utilisez
REGEXP_REPLACE()pour remplacer toutes les lettres majuscules (AàZ) dans la colonneplate_idpar un caractère 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 ce code d’exemple.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;