Прежде всего, вы должны подумать об изменении своего решения, чтобы иметь значения с разделителями вместо дополнительной таблицы. Сначала это может показаться проще, но, как вы уже заметили, работать с ним быстро становится больно.
Тем не менее, есть несколько различных способов обработки значений с разделителями, но использование регулярного выражения вряд ли является одним из них.
Например:
if (value.Length == 0) {
value = email;
} else {
value = value + delimiter + email;
}
Или:
List<string> emails = new List(value.Split(new String[]{ delimiter }));
emails.Add(email);
value = String.Join(delimiter, emails.ToArray());