title: Matching a group that may or may not exist
body: <p>My regex needs to parse an address which looks like this:</p>
  
  <pre><code>BLOOKKOKATU 20 A 773 00810 HELSINKI SUOMI
  -------------------- ----- -------- -----
            1            2       3      4*
  </code></pre>
  
  <p>Groups one, two and three will always exist in an address. Group 4 may not exist. I've written a regex that helps me get the first, second and third part but I would also need the fourth part. Part 4 is the country name and can either be <code>FINLAND</code> or <code>SUOMI</code>. If the fourth part didn't exist in an address the fourth group would be empty. This is my regex so far but the third group captures the country too. Any help?</p>
  
  <pre><code>(.*?)\s(\d{5})\s(.*)$
  </code></pre>
  
  <p>(I'm going to be using this Oracles REGEXP function)</p>