c# – 具有特定图案的尾部的弦头

c# – 具有特定图案的尾部的弦头,第1张

概述我收到的字符串可以等于任何“”str“Y”,其中any可以是任何字符串,字符串str可以等于“1”,“2”,“3”,“5”,“7”或“10”.我的目标是提取字符串. 我想出了以下代码: string pattern = ".* {1Y|2Y|3Y|5Y|7Y|10Y}";string indexIDTorParse = group.ElementAt(0).IndexID;Match resu 我收到的字符串可以等于任何“”str“Y”,其中any可以是任何字符串,字符串str可以等于“1”,“2”,“3”,“5”,“7”或“10”.我的目标是提取字符串.

我想出了以下代码:

string pattern = ".* {1Y|2Y|3Y|5Y|7Y|10Y}";string indexIDTorParse = group.ElementAt(0).IndexID;Match result = Regex.Match(indexIDTorParse,pattern);string IndexIDTermBit = result.Value;string IndexID = indexIDTorParse.Replace($" {IndexIDTermBit}","");

但它没有给予任何权利.

解决方法 您应该使用 parentheses来定义一组模式,而不是大括号,您可以捕获任何部分并通过 Match.Groups直接访问它,而不是另外替换输入字符串:

string pattern = @"(.*) (?:[1-357]|10)Y";string indexIDTorParse = group.ElementAt(0).IndexID;Match result = Regex.Match(indexIDTorParse,pattern);string IndexID = "";if (result.Success) {    IndexID = result.Groups[1].Value;}

正则表达式匹配:

>(.*) – 组1:任意0个或多个字符,尽可能多(注意如果你需要将子字符串放到第一次出现的nY,使用(.*?),它将匹配少量字符可能在后续模式之前)
> – 一个空间
>(?:[1-357] | 10) – 1,2,3,5,7or10`
> Y – 一个Y字符.

见regex demo.

总结

以上是内存溢出为你收集整理的c# – 具有特定图案尾部的弦头全部内容,希望文章能够帮你解决c# – 具有特定图案的尾部的弦头所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1215186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存