2012-11-07 26 views
1

努力瞭解如何使postgresql中的regexp_match字符串函數按照我想要的方式行事。我有一個字符串,我想用一個空格替換多個空格的任何實例。因此,例如postgresql奇怪的正則表達式行爲

'mitt  romney' 

成爲

'mitt romney' 

我相信下面的代碼應該工作:

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

預期的結果將是

'This is a test'` 

而是我回來

'This is a  test'`. 

它就好像替換隻是替換第一個匹配。任何人都知道如何解決此問題?

感謝

回答

4

regexp_replace函數中有第四個可選參數,在指定時會以所需的行爲進行調用。

如果我做

regexp_replace('This  is a  test`, '[ ]+', ' ', 'g') 

我得到了想要的結果。