Для этого вы можете использовать группы регулярных выражений. Например, это регулярное выражение:
(\d\d\d)-(\d\d\d\d\d\d\d)
Давайте сопоставим номер телефона с этим регулярным выражением:
var regex = new Regex(@"(\d\d\d)-(\d\d\d\d\d\d\d)");
var match = regex.Match("123-4567890");
if (match.Success)
....
Если он совпадает, вы найдете первые три цифры:
match.Groups[1].Value
И вторые 7 цифр в:
match.Groups[2].Value
P.S. В C # вы можете использовать строку стиля @ ", чтобы избежать обратной косой черты. Например, @ "\ hi \" равно "\\ hi \\". Полезно для регулярных выражений и путей.
P.S.2. Первая группа хранится в группе [1], а не в группе [0], как и следовало ожидать. Это потому, что группа [0] содержит всю совпавшую строку.