Соответствие группе, которая может существовать или не существовать

Моему регулярному выражению необходимо проанализировать адрес, который выглядит следующим образом:

BLOOKKOKATU 20 A 773 00810 HELSINKI SUOMI
-------------------- ----- -------- -----
          1            2       3      4*

Группы один, два и три всегда будут существовать в адресе. Группа 4 может не существовать. Я написал регулярное выражение, которое помогает мне получить первую, вторую и третью часть, но мне также понадобится четвертая часть. Часть 4 - это название страны, которое может быть ФИНЛЯНДИЯ или SUOMI . Если бы четвертая часть не существовала в адресе, четвертая группа была бы пустой. Пока это мое регулярное выражение, но третья группа тоже захватывает страну. Любая помощь?

(.*?)\s(\d{5})\s(.*)$

(Я собираюсь использовать эту функцию Oracles REGEXP)

10
задан Benjamin 25 January 2014 в 22:03
поделиться