SQL запрос: регулярное выделение текста между HTML тегами с атрибутами - PullRequest
0 голосов
/ 23 января 2020

Таблица персон имеет столбец описания, который содержит текст в формате html.

Запрос должен возвращать идентификатор и описание для каждого человека, удаляя все форматирование html.

select id, REGEXP_EXTRACT(description, r"REGEX_GOES_HERE") from person;

Пример одного из описаний:

<p class="position-body__description" data-section="pastPositions">• Lorem Ipsum dorem posum <br>This is my test html regex.<br> • Provided general HR support of multiple team members’ development, technical and certification training.<br>• Demonstrated experience in an administrative support role managing multiple requests simultaneously.</p>

Ожидаемый результат:

1, Lorem Ipsum dorem posum Это мой тест html регулярное выражение. • Обеспечил общую кадровую поддержку обучения нескольких членов команды по разработке, техническому обучению и сертификации. • Продемонстрировал опыт работы в роли административной поддержки, управляющей несколькими запросами одновременно.

1 Ответ

1 голос
/ 23 января 2020

Ниже для BigQuery Standard SQL

#standardSQL
SELECT id, 
  REGEXP_REPLACE(description, r'<.*?>', '') description_without_formatting 
FROM `project.dataset.person`   

Вы можете проверить, поиграть с выше, используя фиктивные данные из вашего вопроса, как в примере ниже

#standardSQL
WITH `project.dataset.person` AS (
  SELECT 1 id, '<p class="position-body__description" data-section="pastPositions">• Lorem Ipsum dorem posum <br>This is my test html regex.<br> • Provided general HR support of multiple team members’ development, technical and certification training.<br>• Demonstrated experience in an administrative support role managing multiple requests simultaneously.</p>' description
)
SELECT id, 
  REGEXP_REPLACE(description, r'<.*?>', '') description_without_formatting 
FROM `project.dataset.person`   

с результатом

Row id  description_without_formatting   
1   1   • Lorem Ipsum dorem posum This is my test html regex. • Provided general HR support of multiple team members’ development, technical and certification training.• Demonstrated experience in an administrative support role managing multiple requests simultaneously.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...