c#中特定模式子字符串的起始和结束索引系列


string str = "AAA  AAAAA    AA"

我需要算出AAA,AAAAA,AA的起始和结束索引。在上面的例子中,索引是(1,3),(6,10),(14,16)。这有可能实现吗使用regex

根据@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});

最新更新