繁体   English   中英

C#正则表达式如何从字符串中排除

[英]C# regex how to exclude from string

我在 c# 上处理正则表达式,我只需要从字符串中获取一部分并排除所有其余部分。

var file = "XD_ADX_W_CGX_CLAIMS_2021_07_11.TXT";

我只想从上面的字符串中获取“CGX_CLAIMS”,XD_ADX 是可变的, W是静态的,2021_07_11 也是可变的

我能够使用以下正则表达式提取日期:

 Regex r = new Regex(@"[_]\d{4}[_]\d{2}[_]\d{2}[.]", RegexOptions.RightToLeft);

现在我只需要提取 CGX_CLAIMS (即变量......可能是其他字符串)......知道吗?

谢谢!!

由于_W_是静态的,您可以使用

_W_(.*?)_\d{4}_\d{2}_\d{2}\.

请参阅正则表达式演示 详情

  • _W_ - 一个已知的子串
  • (.*?) - 第 1 组:除换行符以外的任何零个或多个字符,尽可能少
  • _\\d{4}_\\d{2}_\\d{2}\\. - _ ,四位数字, _ ,两位数字, _ ,两位数字和一个. 字符。

在 C# 中,您可以使用

var output = Regex.Match(text, @"_W_(.*?)_\d{4}_\d{2}_\d{2}\.")?.Groups[1].Value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM