使用postgres regexp_replace()用单引号替换反斜杠和单引号的正则表达式

时间:2015-01-14 18:04:19

标签: regex postgresql regexp-replace

正如标题所述,我不是最好的w / regex,所以任何人都可以提供适当的正则表达式:

UPDATE table SET column = REGEXP_REPLACE(column, {regex}, '''');

基本上,我想用一个单引号替换反斜杠的任何实例(\),然后替换一个或多个单引号。

因此,字符串Hello World\'sHello World\'''''s应该变为Hello World's,而不是Hello World\s

2 个答案:

答案 0 :(得分:5)

这是相对简单的。请注意,反斜杠字符\以及单引号字符'(您在OP中转义)都需要进行转义。区别在于反斜杠必须在正则表达式本身中进行转义,而单引号则在字符串文字中进行转义。无论如何,足够的题外话。

UPDATE table SET column = REGEXP_REPLACE(column, '\\''+', '''', 'g');

希望这有帮助。

答案 1 :(得分:3)

您可以尝试以下操作:

SELECT REGEXP_REPLACE(column, '\\''['']*', '''','g') from table

编辑:当然\''+更好

SELECT REGEXP_REPLACE(column, '\\''+', '''','g') from table
相关问题