6

正如标题所述,我不是最适合使用正则表达式的人,所以任何人都可以为以下内容提供适当的正则表达式:

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

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

所以,字符串Hello World\'sorHello World\'''''s应该变成Hello World's,但不是Hello World\s

4

2 回答 2

9

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

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

希望这可以帮助。

于 2015-01-14T18:39:43.580 回答
3

您可以尝试以下方法:

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

编辑:当然 \''+ 更好

SELECT REGEXP_REPLACE(column, '\\''+', '''','g') from table
于 2015-01-14T18:12:24.700 回答