Depois de muito quebrar a cabeça, cheguei na seguinte solução:
([A-Za-z ]+)|(\|\d{2,3}?\|)|(\d{5}[-.]?\d{3})
\
Onde ([A-Za-z ]+)
retorna os nomes e as ruas, (\|\d{2,3}?\|)
, retorna os números das casas, e (\d{5}[-.]?\d{3})
retorna os CEPs. Os pipes |
separam cada RegEx para que funcionem individualmente.