如何使用regexp_substr修剪最后匹配的字符串

时间:2015-01-21 20:12:15

标签: regexp-substr

我正在尝试使用regexp_substr来检索[!< &安培; &GT ;!]。我有以下声明,但它返回'用regexp_substr进行测试。>!]'。如何排除>!]并仅返回字符串?

选择regexp_substr(' [!<用regexp_substr测试。>!]',' [^ [!<] +>!]')来自双

1 个答案:

答案 0 :(得分:0)

此方法将开始和结束字符序列之间的所有内容分组(假设至少有1个字符),然后返回该字符组。方括号需要进行转义,因此正则表达式引擎不会认为您指的是字符类。请注意,您的示例在第一个字母前面有一个空格,该空格保留在输出中:

select regexp_substr('[!< To test with regexp_substr.>!]','\[!<(.+)>!\]', 1, 1, 'i', 1) from dual;


STRING_EXAMPLE              
----------------------------
 To test with regexp_substr.