C#中子串特定模式的起始和终止系列索引

时间:2013-06-20 00:46:19

标签: c# .net regex indexing substring

string str = "AAA  AAAAA    AA"

我需要弄清楚AAA,AAAAA,AA的起始和结束指数。在上面的例子中,索引是(1,3),(6,10),(14,16)。是否有可能实现这一目标 使用正则表达式

1 个答案:

答案 0 :(得分:1)

根据@ HamZa的评论:你可以这样做:

var r = new Regex(@"(\S)(?:\S*(\S))?");
var input = "AAA  AAAAA    AA";
var clusterPositions = r.Matches(input).Cast<Match>()
                        .Select(m => new{start = m.Index, 
                                           end = m.Index + m.Length});