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

如何使用正则表达式匹配提取字符串中STRY前缀的指定片段?

从点分隔字符串中提取STRY格式片段的正则实现

核心匹配规则

针对样例字符串SampleReleaseFY20Q3.STRY0122544.Developer.SDLCRework.6,目标片段STRY0122544的特征是固定前缀STRY后跟7位数字,直接使用正则表达式STRY\d{7}即可完成匹配。
如果需要避免跨片段误匹配(比如字符串中出现更长的STRY开头字符段),可以加上单词边界优化为\bSTRY\d{7}\b,完美适配点号分隔的字符串场景。

不同开发语言的落地代码

提取结果直接赋值给对应变量即可,以下是常用场景的实现示例:

  • JavaScript
const sourceStr = "SampleReleaseFY20Q3.STRY0122544.Developer.SDLCRework.6";
const matchResult = sourceStr.match(/\bSTRY\d{7}\b/);
// 存储提取结果,无匹配时赋值为空字符串
const targetValue = matchResult?.[0] ?? "";
  • Python
import re
source_str = "SampleReleaseFY20Q3.STRY0122544.Developer.SDLCRework.6"
match_result = re.search(r"\bSTRY\d{7}\b", source_str)
// 存储提取结果,无匹配时赋值为空字符串
target_value = match_result.group() if match_result else ""
  • Shell
source_str="SampleReleaseFY20Q3.STRY0122544.Developer.SDLCRework.6"
# 存储提取结果到变量
target_value=$(echo "$source_str" | grep -oE "STRY[0-9]{7}")
  • Java
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExtractDemo {
    public static void main(String[] args) {
        String sourceStr = "SampleReleaseFY20Q3.STRY0122544.Developer.SDLCRework.6";
        Pattern pattern = Pattern.compile("\\bSTRY\\d{7}\\b");
        Matcher matcher = pattern.matcher(sourceStr);
        String targetValue = "";
        if (matcher.find()) {
            targetValue = matcher.group();
        }
    }
}

规则适配说明

如果实际场景中STRY后缀的数字长度不是固定7位,只需要修改正则中的数字长度规则即可:

  • 匹配STRY后跟任意长度数字:把\d{7}替换为\d+
  • 匹配STRY后跟6-8位数字:把\d{7}替换为\d{6,8}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 03:06:42