НачатьНачать бесплатно

Маскирование персональных данных с помощью регулярных выражений

Регулярные выражения также можно использовать для замены шаблонов в строках с помощью функции 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;
Редактировать и запускать код