Lately, I discovered Named Groups:
string[] result;
string pattern = "((?<FirstGroupName>[A-Za-z]+)-((?<SecondGroupName>[A-Za-z]+))";
Match match = Regex.Match("YourInputString", pattern);
if(match.Success)
{
result = new string[]{
match.Groups["FirstGroupName"],
match.Groups["SecondGroupName"]
};
}