Dan*_*ton 4 regex sql postgresql replace
我有一个表,其中特定的字符串字段通常包括unicode用于其中的单引号和双引号:\u0027和\u0022.事实证明,我实际上需要他们逃脱更多.我需要\在他们面前加一个额外的东西.
例如,我需要\u0027Hello, world\u0027改为\\u0027Hello, world\\u0027
什么样的SQL可以在表上为所有记录执行此类更新?
Grz*_*ski 10
如果你真的需要这个,那么你可以使用这样的RE:
UPDATE table SET c = regexp_replace(c, '[^\\]\\(u\d{4})', '\\\\\1', 'g');
Run Code Online (Sandbox Code Playgroud)
确保启用standard_conforming_strings并将regex_flavor设置为advanced.
SHOW standard_conforming_strings;
standard_conforming_strings
-----------------------------
on
(1 row)
Run Code Online (Sandbox Code Playgroud)
替换字符串'\\\\\1'表示两个后面的反斜杠\\,\1表示第一个(报告)带括号的子表达式(即,'u'与模式中的四个数字连接).
| 归档时间: |
|
| 查看次数: |
6886 次 |
| 最近记录: |