在oracle中使用正则表达式获取数据

时间:2013-07-16 05:26:34

标签: regex database oracle

我有像

这样的数据
[A_B] A [1_@_312_AS] 232[232_A_@]AB_!@_12

我想要的是

A 232AB_!@_12

我希望使用正则表达式将数据放在括号中。我在Oracle DB中使用REGEX_SUBSTR函数

有人可以帮助我是这个领域的新手吗?

1 个答案:

答案 0 :(得分:3)

SELECT 
    regexp_replace(t.mytext, '\[[^]]*\]', '')
FROM   
    (SELECT '[A_B] A [1_@_312_AS] 232[232_A_@]AB_!@_12' as mytext FROM DUAL) t

此致

AKDA

编辑: regexp_replace 在param 1(文本)中搜索param 2(模式)并用param 3替换所有实例(空字符串'')

该模式匹配一​​个左右括号(\ [\]),该括号围绕任意字符的任意数字(*),但是右括号([^]]除外)

希望以某种方式解释......:)