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

C#如何使用正则表达式从指定格式字符串中提取目标可变片段

解决方案

实现思路

你的字符串满足固定结构:[可变前缀]_W_[目标片段]_yyyy_MM_dd.[后缀],要提取的目标片段位于固定标识_W_之后、日期前缀之前,用正则的前后断言可直接锁定目标,无需额外处理捕获组。

正则表达式

匹配规则:
@"(?<=_W_).+?(?=_\d{4}_\d{2}_\d{2}\.)"
各部分作用:

  • (?<=_W_):正向肯定后视断言,限定匹配内容的前缀必须是固定标识_W_,该部分不会被纳入最终匹配结果
  • .+?:非贪婪匹配任意字符,即你需要提取的可变目标片段
  • (?=_\d{4}_\d{2}_\d{2}\.):正向肯定前视断言,限定匹配内容的后缀必须是下划线加日期加小数点的格式,该部分不会被纳入最终匹配结果

C# 调用示例

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string file = "XD_ADX_W_CGX_CLAIMS_2021_07_11.TXT";
        Regex regex = new Regex(@"(?<=_W_).+?(?=_\d{4}_\d{2}_\d{2}\.)");
        string target = regex.Match(file).Value;
        Console.WriteLine(target); // 输出结果:CGX_CLAIMS
    }
}

注意事项

  • 如果目标片段允许为空,可以将.+?替换为.*?
  • 如果固定标识W存在大小写波动,可以在构造Regex时添加RegexOptions.IgnoreCase参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:24:03