Если учесть простые почтовые индексы (например, 12345) и обеспечить, чтобы в случае обнаружения принятого разделителя (пробел, запятая, труба) его нужно было завершить четырьмя цифрами, этого регулярного выражения должно быть достаточно.
[0-9]{5}(?:[-,| ][0-9]{4})?