regex postgresql zastępuje tylko pierwsze dopasowanie

Starając się zrozumieć, jak sprawić, by funkcja regexp_match w postgresql działała, zachowuję się tak, jak chcę. Mam ciąg znaków i chcę zastąpić dowolne wystąpienie wielu spacji tylko jedną spacją. Na przykład

'mitt     romney'

staje się

'mitt romney'

Uważam, że następujący kod powinien działać:

SELECT regexp_replace('This      is a    test', '[ ]+', ' ');

Oczekiwany wynik byłby taki

'This is a test'` 

ale zamiast tego wracam

'This is a     test'`.  

To tak, jakby wymiana zastępowała tylko pierwszy mecz. Ktoś wie, jak to rozwiązać?

Dzięki

questionAnswers(2)

yourAnswerToTheQuestion