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

如何使用REGEXP_SUBSTR截取大写字母+数字前的字符串内容?

使用REGEXP_SUBSTR提取「大写字母+单个数字」模式前的内容

需求说明

原始数据示例:

Security Compliance - P2 - United States-Region B
Sales Leadership - Sales Strategy - E1 - United States-Region A
Site Reliability Engineering - M6 - United Kingdom

需要通过REGEXP_SUBSTR函数,剔除所有「单个大写字母+单个数字」(如P2、E1、M6)及其之后的内容,最终输出:

Security Compliance
Sales Leadership - Sales Strategy
Site Reliability Engineering

实现方案

Oracle 版本

SELECT REGEXP_SUBSTR(your_column_name, '^(.*?)\s-\s[A-Z]\d', 1, 1, NULL, 1) AS cleaned_content
FROM your_table;

参数解释:

  • ^(.*?):非贪婪匹配字符串开头到目标模式前的所有内容,确保只取到第一个「大写字母+数字」前的文本
  • \s-\s:匹配原始数据中分隔用的「空格-空格」格式
  • [A-Z]\d:精准匹配单个大写字母加单个数字的模式
  • 最后一个1:指定提取正则表达式中的第一个捕获组内容

MySQL 8.0+ 版本

SELECT REGEXP_SUBSTR(your_column_name, '^(.*?)\\s-\\s[A-Z]\\d', 1, 1, 'c', 1) AS cleaned_content
FROM your_table;

参数解释:

  • 'c':开启大小写敏感匹配,避免误匹配小写字母
  • 其余逻辑与Oracle版本一致,注意MySQL中转义符需用双反斜杠\\

执行上述语句后,即可得到符合要求的清理后文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:45:24