Identifizierende Informationen mit regulären Ausdrücken maskieren
Reguläre Ausdrücke können auch verwendet werden, um Muster in Strings mit REGEXP_REPLACE() zu ersetzen. Die Funktion ähnelt REPLACE(). Ihre Signatur lautet REGEXP_REPLACE(source, pattern, replace, flags).
patternist das Zeichenmuster, das in der Zeichenkettesourcegefunden werden soll.replaceist die Ersatzzeichenkette, die anstelle des Musters verwendet wird.flagsist eine optionale Zeichenkette, mit der die Übereinstimmung gesteuert wird.
Zum Beispiel würde REGEXP_REPLACE(xyz, '\d', '_', 'g') jedes Ziffernzeichen (\d) in der Spalte xyz durch einen Unterstrich (_) ersetzen. Das Flag g („global“) sorgt dafür, dass jede Übereinstimmung ersetzt wird.
Um die Privatsphäre der Empfänger von Parkverstößen in einem neuen Webbericht zu schützen, müssen alle Buchstaben in der Spalte plate_id durch einen Bindestrich (-) ersetzt werden, um das tatsächliche Kennzeichen zu maskieren.
Diese Übung ist Teil des Kurses
Datenbereinigung in PostgreSQL-Datenbanken
Anleitung zur Übung
- Verwende
REGEXP_REPLACE(), um alle Großbuchstaben (AbisZ) in der Spalteplate_iddurch ein Bindestrich-Zeichen (-) zu ersetzen, damit maskierte Kennzeichen im Bericht verwendet werden können.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;