string[] regexList = new string[] { @"^(?<TickerPart1>[0-9A-Z])[ 0_]?(?<TickerPart2>[A-Z][0-9]) ?(COM(DTY)?|INDEX|IDX|IND|CURNCY|CUR|CLQ|ILQ|IDS)$",@"^(?<Ticker>[0-9A-Z]{2,5}[A-Z][0-9]) ?(COM(DTY)?|INDEX|IDX|IND|CURNCY|CUR)$",5}[A-Z][0-9])$",};string externalID = "3ABZ9 COMDTY";//测试例子//A Z9 INDEX;AZ9 CUR;A_H9 IDX;A0H9COM;ABZ9 INDEX;3ABZ9 COMDTY;ABZ9;3ABZ9foreach (string regexString in regexList){ if (Regex.IsMatch(externalID,regexString,RegexOptions.IgnoreCase)) { Regex reg = new Regex(regexString,RegexOptions.IgnoreCase); Match mc = reg.Match(externalID); GroupCollection groups = mc.Groups; string convertID = ""; foreach (string grn in reg.GetGroupnames()) { if (grn.Contains("Ticker")) convertID += groups[grn].Value; } Console.Writeline(convertID); break; }}总结
以上是内存溢出为你收集整理的C#正则表达式根据分组命名取值全部内容,希望文章能够帮你解决C#正则表达式根据分组命名取值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)