Sql 如何选择特定范围(使用红移正则表达式)

Sql 如何选择特定范围(使用红移正则表达式),sql,regex,amazon-redshift,Sql,Regex,Amazon Redshift,我正在尝试使用正则表达式只提取字母或特殊字符之间的数字 我有一个amazon红移环境,正在使用regexp_substr函数来解决这个问题,但它的工作方式不太好 我的桌子 +------------------------+ | text | +------------------------+ | abc:1+550(name) | | abc:1+1100(name) | | abc:1+512(name)

我正在尝试使用正则表达式只提取字母或特殊字符之间的数字

我有一个amazon红移环境,正在使用regexp_substr函数来解决这个问题,但它的工作方式不太好

我的桌子

+------------------------+
 |    text                |
 +------------------------+
 | abc:1+550(name)        |
 | abc:1+1100(name)       |
 | abc:1+512(name)        |
 | abc:1+2932(name)       |
 +------------------------+
我的代码 regexp_substr(a.text,'^+[\d]($)这行吗

select replace(regexp_substr(col, '[0-9]+[(]'), '(', '')

请向我们展示您现有的尝试。嗯……我正在尝试找到一个规则,用于在+字符之后和括号之前拾取数字。但是它没有我想象的那么好。例如)regexp_substr(a.text,“^\+[\d]($”)请使用问题下的链接,而不是在评论中添加任何附加信息。工作正常!!我尝试使用regexp\u substr立即将其拉出。谢谢您告诉我如何操作。
select replace(regexp_substr(col, '[0-9]+[(]'), '(', '')