正则表达式使用 postgres regexp_replace() 用单引号替换反斜杠和单引号
regex to replace backslash and single quote with single quote using postgres regexp_replace()
正如标题所说,我不是最好的正则表达式,所以任何人都可以为以下内容提供适当的正则表达式:
UPDATE table SET column = REGEXP_REPLACE(column, {regex}, '''');
基本上,我想用一个单引号替换任何反斜杠 (\
) 后跟 一个或多个 个单引号的实例。
所以,字符串 Hello World\'s
或 Hello World\'''''s
应该变成 Hello World's
,而不是 Hello World\s
。
您可以尝试以下方法:
SELECT REGEXP_REPLACE(column, '\''['']*', '''','g') from table
编辑:当然 \''+ 更好
SELECT REGEXP_REPLACE(column, '\''+', '''','g') from table
这个比较简单。请注意,反斜杠字符 \
和单引号字符 '
(您在 OP 中对其进行了转义)都需要进行转义。区别在于反斜杠必须在正则表达式本身中转义,而单引号在字符串文字中转义。不管怎样,题外话够多了。
UPDATE table SET column = REGEXP_REPLACE(column, '\''+', '''', 'g');
希望对您有所帮助。
正如标题所说,我不是最好的正则表达式,所以任何人都可以为以下内容提供适当的正则表达式:
UPDATE table SET column = REGEXP_REPLACE(column, {regex}, '''');
基本上,我想用一个单引号替换任何反斜杠 (\
) 后跟 一个或多个 个单引号的实例。
所以,字符串 Hello World\'s
或 Hello World\'''''s
应该变成 Hello World's
,而不是 Hello World\s
。
您可以尝试以下方法:
SELECT REGEXP_REPLACE(column, '\''['']*', '''','g') from table
编辑:当然 \''+ 更好
SELECT REGEXP_REPLACE(column, '\''+', '''','g') from table
这个比较简单。请注意,反斜杠字符 \
和单引号字符 '
(您在 OP 中对其进行了转义)都需要进行转义。区别在于反斜杠必须在正则表达式本身中转义,而单引号在字符串文字中转义。不管怎样,题外话够多了。
UPDATE table SET column = REGEXP_REPLACE(column, '\''+', '''', 'g');
希望对您有所帮助。