mstdmstd, насколько мне известно, при использовании альтернативы "|" (или) в результирующий массив будут сохранены так же и пустые "вхождения".
На уровне шаблона рег.выражения в данный момент я не могу сказать, возможно ли избежать пустых элементов. Но можно пойти путём фильтрования результирующих массивов, например с помощью array_filter().
|