gpt4 book ai didi

regex - postgresql:如何连接两个 regexp_matches()

转载 作者:行者123 更新时间:2023-11-29 11:50:24 26 4
gpt4 key购买 nike

我正在尝试从 123A America、234B Britania 等名称中提取整数和字符。我只想要号码和附加的字母(即 123A)。我正在使用 regexp_matches(name, '(\d+)(\D)') 结果为:

{123,A},
{456,B}

我想使用连接,使用两个不同的函数获取数组的第一个元素和第二个元素(regexp_matches(name, '(\d+)(\D)' )) [1] || (regexp_matches(name, '(\d+)(\D)' )) [2]

但它会产生一个错误:错误:函数和运算符最多只能接受一个集合参数

如何将两个元素作为一个字符串获取?

最佳答案

您不必将要搜索的两个项目作为不同的集合获取,只需将它们作为一个集合获取即可。删除 \d+\D 之间的 )( ,这将返回一个包含您要查找的整个字符串的集合。

结果 -regexp_matches('123A America, 234B Britania', '(\d+\D)' )

这只会找到第一个匹配项。要获取所有匹配的子字符串,请使用 g 标志 -regexp_matches('123A America, 234B Britania', '(\d+\D)', 'g')

关于regex - postgresql:如何连接两个 regexp_matches(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19637811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com