using System;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string test = "viv-ek is a good boy.Mah - esh is Cra - zy.";
var words =
Regex
.Matches(test, @"(?<part>\w+)(\s*-\s*(?<part>\w+))+\b")
.Cast<Match>()
.Select(
x => string.Join(
string.Empty,
x.Groups["part"].Captures.Cast<Capture>().SelectMany(capture => capture.Value)))
.ToList();
words.ForEach(Console.WriteLine);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXN0cmluZyB0ZXN0ID0gInZpdi1layBpcyBhIGdvb2QgYm95Lk1haCAtIGVzaCBpcyBDcmEgLSB6eS4iOwogICAgICAgIHZhciB3b3JkcyA9IAogICAgICAgIAlSZWdleAogICAgICAgIAkJLk1hdGNoZXModGVzdCwgQCIoPzxwYXJ0Plx3KykoXHMqLVxzKig/PHBhcnQ+XHcrKSkrXGIiKQogICAgICAgIAkJLkNhc3Q8TWF0Y2g+KCkKICAgICAgICAJCS5TZWxlY3QoCiAgICAgICAgCQkJeCA9PiBzdHJpbmcuSm9pbigKICAgICAgICAJCQkJc3RyaW5nLkVtcHR5LCAKICAgICAgICAJCQkJeC5Hcm91cHNbInBhcnQiXS5DYXB0dXJlcy5DYXN0PENhcHR1cmU+KCkuU2VsZWN0TWFueShjYXB0dXJlID0+IGNhcHR1cmUuVmFsdWUpKSkKICAgICAgICAJCS5Ub0xpc3QoKTsKICAgICAgICB3b3Jkcy5Gb3JFYWNoKENvbnNvbGUuV3JpdGVMaW5lKTsKCX0KfQ==