Psql lookbehind 正则表达式用于多值替换

Psql lookbehind regex for multiple value replacement

我想找到三个值并用正则表达式替换它们,除了粗略的想法外不知道背后到底是什么。例如

word [1,2,3]

232 word[1 , 2, 3]

1d1 word [1,2, 3]

在这两种情况下,我都专门寻找匹配和替换 1、2 和 3。

据我了解,lookbehind 不支持未知长度。

有没有一种优雅的方式来做到这一点?

最好知道如何在 Sql 条件不是一个选项的情况下做到这一点

谢谢。

编辑:

我想我可以在一定程度上使用 WHERE match_string ~ 'word'

你可以写一个函数来处理你喜欢的。签出 postres control structures

您可以return 一次处理一个行或创建一个函数来处理您的字段? return 正确的文本。例如 select 来自某个表的 myfix(poordatafield);

接下来使用 return 有性能方面的考虑。