You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle REGEXP_SUBSTR匹配全角括号:如何提取目标子串

Oracle REGEXP_SUBSTR适配半角/全角左括号的修改方案

要同时处理两种格式的字符串,需修改正则表达式使其兼容半角左括号(和全角左括号((Unicode编码U+FF08),以下是两种可靠方案:

方案1:精准匹配空格+左括号场景

如果more_text后固定是空格加左括号(符合你给出的示例结构),可使用更精准的正则:

REGEXP_SUBSTR(string, '\((.*?) [\(\uff08]', 1, 1, NULL, 1)
  • 正则说明:
    • \(:匹配目标字符串中第一个半角左括号
    • (.*?):非贪婪模式捕获字符,直到遇到后续的空格+左括号
    • [\(\uff08]:匹配空格后紧跟的半角(或全角((\uff08是全角左括号的Unicode转义,避免编码兼容问题)
    • 最后指定1提取第一个捕获组内容,即目标more_text

方案2:兼容任意左括号前置内容

如果more_text后可能存在其他字符(不只是空格),可改为匹配任意左括号(半角/全角),再用TRIM去除冗余空格:

TRIM(REGEXP_SUBSTR(string, '\((.*?)(\(|\uff08)', 1, 1, NULL, 1))
  • 正则说明:
    • 将原正则中的单个\(替换为(\(|\uff08),同时匹配半角和全角左括号
    • TRIM函数用于去除捕获内容末尾可能附带的空格,确保得到纯净的more_text

两种方案均可覆盖你提到的两种字符串格式,可根据实际业务场景选择。

内容的提问来源于stack exchange,提问作者user192356

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:33:17