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

Oracle SQL中定位提取字母后接5位数字的正则表达式方案

Oracle SQL提取字母后接5位数字的子串

要定位并提取字符串中单个字母后接5位数字的内容(内容可能不存在或被其他字符包围),可以直接使用Oracle的REGEXP_SUBSTR正则匹配函数实现,匹配不到时返回null。

实现代码

WITH sample_data AS (
    SELECT '**' col FROM dual
    UNION ALL
    SELECT '+D91882' FROM dual
    UNION ALL
    SELECT '3DD12523' FROM dual
    UNION ALL
    SELECT 'Testing' FROM dual
    UNION ALL
    SELECT 'A12345' FROM dual
    UNION ALL
    SELECT '3DR4096' FROM dual
    UNION ALL
    SELECT 'G92648RE' FROM dual
    UNION ALL
    SELECT 'D123456' FROM dual
)
SELECT REGEXP_SUBSTR(col, '[A-Za-z]\d{5}') AS result
FROM sample_data;

代码说明

  • REGEXP_SUBSTR(col, '[A-Za-z]\d{5}'):从col字段中提取第一个符合规则的子串:
    • [A-Za-z]:匹配任意大小写英文字母
    • \d{5}:匹配连续5位阿拉伯数字
  • 若字段中没有符合规则的内容,函数会返回null

输出结果

执行后得到的结果与预期一致:

  • null
  • D91882
  • D12523
  • null
  • A12345
  • null(注:原示例中3DR4096是字母后接4位数字,不符合5位要求,故返回null)
  • G92648
  • D12345

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:40:09