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

问题描述:

我期待找到三个值,并用正则表达式替换它们,而不知道确切的想法背后是什么。例如Psql lookbehind正则表达式用于多值替换

word [1,2,3]

232 word[1 , 2, 3]

1d1 word [1,2, 3]

在这两种情况下,我专门找匹配和更换1次,2和3

据我了解,回顾后没有按不支持未知长度。

有没有一个这样做的优雅方式?

这也将是很好的知道如何做到这一点outwith SQL WHERE条件语句是不是一种选择

感谢。

编辑:

我想我可以使用WHERE match_string ~ 'word'到的程度。

+0

如果你的正则表达式引擎支持[正向lookbehinds](https://www.regular-expressions.info/lookaround.html),那么也许[这个正则表达式](https://regex101.com/r/7tdTIB/1/ )'(?

+0

https://www.postgresql如果将逻辑放入函数中,则可以使用.org/docs/9.1/static/plpgsql-control-structures.html –

+0

条件。我不清楚为什么你需要条件或看看后面。 –

你可以编写一个函数来处理你喜欢的东西。结帐postres control structures

您可以一次返回一个处理过的行或者创建一个函数来处理您的字段?返回正确的文本。例如从sometable中选择myfix(poordatafield);

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