Удалить повторяющиеся слова в строке
Необходимо удалить повторяющееся слово, если оно идет друг за другом, в строке (разделитель пробел или не текстовый символ). Пытаюсь сделать шаблон регулярной функции в Oracle.
Нашёл данный формат шаблона, но не могу его перенести в regexp_replace на Oracle:
\\b(\\w+)(?:\\s+\\1\\b)+
Как с помощью регулярного выражения удалить повторяющиеся слова?
Спасибо @ESkri за пример, немного модернизировал для своих нужд:
SELECT regexp_replace('ООО ДО-ДО ПИЦЦА',
'(^|\W)(\w{2,})(\s+\2)+(\W|$)',
'\1\2\4',
1,
0,
'i')
FROM dual
Источник: Stack Overflow на русском