我想出了以下代码:
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# – 具有特定图案的尾部的弦头所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)