убрать повторяющиеся слова при помощи регулярных выражений oracle

Используя регулярные выражения нужно убрать повторы слов из выражения 'yes yes, you a very very bad bad boy'. Используйте таблицу DUAL. Вот мой запрос, которым получилось это сделать.

   SELECT 
      REGEXP_REPLACE ('yes yes, you a very very bad bad boy', '(\w{3}) (\w{3}, \w{3} \w \w{4}) (\w{4} \w{3}) (\w{3} \w{3})', '\2 \4' ) as 
      final_view
  FROM
    dual;

Поделитесь, пожалуйста, другим способом. Более рациональным


Ответы (1 шт):

Автор решения: Qwertiy

Теоретически, вот так:

REGEXP_REPLACE('yes yes, you a very very bad bad boy', '(\b\w+\b)(\s+\1\b)+', '\1')

console.log('yes yes, you a very very bad bad boy'.replace(/(\b\w+\b)(\s+\1\b)+/g, '$1'))

→ Ссылка