using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var text = "One word, duel. Limes said bye.";
var pattern = @"\b(?<w>\p{L}+)(?:\P{L}+(?<w>(\p{L})(?<=\1\P{L}+\1)\p{L}*))+\b";
var result = Regex.Match(text, pattern, RegexOptions.IgnoreCase)?.Groups["w"].Captures
.Cast<Capture>()
.Select(x => x.Value);
Console.WriteLine(string.Join(", ", result));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciB0ZXh0ID0gIk9uZSB3b3JkLCBkdWVsLiBMaW1lcyBzYWlkIGJ5ZS4iOwogICAgCXZhciBwYXR0ZXJuID0gQCJcYig/PHc+XHB7TH0rKSg/OlxQe0x9Kyg/PHc+KFxwe0x9KSg/PD1cMVxQe0x9K1wxKVxwe0x9KikpK1xiIjsKICAgIAl2YXIgcmVzdWx0ID0gUmVnZXguTWF0Y2godGV4dCwgcGF0dGVybiwgUmVnZXhPcHRpb25zLklnbm9yZUNhc2UpPy5Hcm91cHNbInciXS5DYXB0dXJlcwogICAgCQkJLkNhc3Q8Q2FwdHVyZT4oKQogICAgCQkJLlNlbGVjdCh4ID0+IHguVmFsdWUpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCIsICIsIHJlc3VsdCkpOwoJfQp9Cg==