как интересно получить из этого
«123| 1.doc, 6433| (1,2,3).rtf, 8536| ytu.dat»
массив
string[] {«123| 1.doc»,»6433| (1,2,3).rtf»,»8536| ytu.dat»}

на ум пришла такая регулярка /(\d+?\|.+?),?/, но в лоб такая конструкция возвращает только \d+\|, оставляем .+, и выражение берет всю строку, что бы сделать с жадностью квантификатора.

upd:
решение как всегда оказалось намного проще 🙂

Regex regex = new Regex(",(?=s*\\d+\\|)");
var parts = regex.Split(files);