( / ), (#):
string source = @"ABCDDEFGHFGH";
string[] result = Regex
.Matches(source, @"(.+)\1")
.OfType<Match>()
.Select(match => match.Groups[1].Value)
.ToArray();
(.+) - group of any (at least 1) characters
\1 - the same group (group
Console.Write(string.Join(", ", result));
D, FGH
, . "AAAA", "AA", "A", , , "AA".