【问题标题】:How to trim the last matching string using regexp_substr如何使用 regexp_substr 修剪最后一个匹配的字符串
【发布时间】:2015-03-20 11:46:48
【问题描述】:

我正在尝试使用 regexp_substr 检索 [!!] 中的字符串。我有以下语句,但它返回了“使用 regexp_substr.>!] 进行测试”。如何排除 >!] 并仅返回字符串?

select regexp_substr('[!!]','[^[!!]') from dual

【问题讨论】:

    标签: regexp-substr


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 2023-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多