Regex для разделения немецкого адреса на части

Добрый вечер,

Я пытаюсь разбить части немецкой адресной строки на ее части с помощью Java. Кто-нибудь знает регулярное выражение или библиотеку, чтобы сделать это? Чтобы разделить это следующим образом:

Name der Straße 25a 88489 Teststadt
в
Name der Straße|25a|88489|Teststadt

или же

Teststr. 3 88489 Beispielort (Großer Kreis)
в
Teststr.|3|88489|Beispielort (Großer Kreis)

Было бы идеально, если бы система / регулярное выражение все еще работало, если бы отсутствовали такие части, как почтовый индекс или город.

Есть ли какое-нибудь регулярное выражение или библиотека, с которой я мог бы заархивировать это?

РЕДАКТИРОВАТЬ: Правило для немецких адресов:
Улица: символы, цифры и пробелы
Номер дома: номер и любые символы (или пробел) до серии цифр (индекс) (по крайней мере, в этих примерах)
Индекс: 5 цифр
Место или город: остальные могут быть также с пробелами, запятыми или фигурными скобками

Ответы на вопрос(6)

Ваш ответ на вопрос