Маскирование персональных данных с помощью регулярных выражений
Регулярные выражения также можно использовать для замены шаблонов в строках с помощью функции REGEXP_REPLACE(). Она работает аналогично функции REPLACE(). Её сигнатура: REGEXP_REPLACE(source, pattern, replace, flags).
pattern— шаблон, который ищется в строкеsource.replace— строка замены, которая подставляется вместо найденного шаблона.flags— необязательная строка для управления режимом сопоставления.
Например, REGEXP_REPLACE(xyz, '\d', '_', 'g') заменит каждый символ-цифру (\d) в столбце xyz символом подчёркивания (_). Флаг g («global») обеспечивает замену всех найденных совпадений.
Чтобы защитить персональные данные получателей штрафов за нарушение правил парковки в новом веб-отчёте, все буквы в столбце plate_id необходимо заменить дефисом (-) — это скроет настоящий номер автомобильного знака.
Это упражнение является частью курса
Очистка данных в базах данных PostgreSQL
Инструкции к упражнению
- С помощью
REGEXP_REPLACE()замените все заглавные буквы (отAдоZ) в столбцеplate_idсимволом дефиса (-), чтобы в отчёте использовались маскированные номерные знаки.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;