小编Des*_*.F.的帖子

postgresql regexp_replace:如何用已计算的表达式替换捕获的组(向捕获组添加整数值)

我需要使用以下格式转换一些字符串:

B12F34

这样的事情:

12楼 - 34楼

但我必须向第二个捕获组添加一个值,比方说10,所以新字符串将如下:

12楼 - 44

我可以使用这个postgres句子来完成几乎所有的事情,但我不知道如何将值添加到第二个捕获组.

SELECT regexp_replace('B12F34', 'B(\d+)F(\d+)', 'Building \1 - Floor \2', 'g');
Run Code Online (Sandbox Code Playgroud)

我一直在寻找一种方法来为\ 2添加一个值,但我发现的是我可以使用'E'修饰符,然后\ 1和\ 2需要是\\ 1和\\ 2:

SELECT regexp_replace('B12F34', 'B(\d+)F(\d+)', E'Building \\1 - Floor \\2', 'g')
Run Code Online (Sandbox Code Playgroud)

我需要一些像这样的句子:

SELECT regexp_replace('B12F34', 'B(\d+)F(\d+)', E'Building \\1 - Floor \\2+10', 'g')
Run Code Online (Sandbox Code Playgroud)

得到........ 44 而不是........ 34+10

提前致谢!

regex postgresql replace

6
推荐指数
1
解决办法
5225
查看次数

标签 统计

postgresql ×1

regex ×1

replace ×1