title: PL/SQL Split string by pattern
body: <p>Similarly to this question...</p>
  
  <p><a href="https://stackoverflow.com/questions/30704195/how-can-i-use-regex-to-split-a-string-using-a-string-as-a-delimiter">How can I use regex to split a string, using a string as a delimiter?</a></p>
  
  <p>... I'm trying to split the following string:</p>
  
  <pre class="lang-none prettyprint-override"><code>Spent 30 CAD in movie tickets at Cineplex on 2018-06-01
  </code></pre>
  
  <p>My desired output is this:</p>
  
  <pre><code>ELEMENT ELEMENT_VALUE
  ------- -------------
        1 Spent
        2 30
        3 CAD
        4 movie tickets
        5 Cineplex
        6 2018-06-01
  </code></pre>
  
  <p>Similarly, it should be able to process:</p>
  
  <pre class="lang-none prettyprint-override"><code>Paid 600 EUR to Electric Company
  </code></pre>
  
  <p>Producing:</p>
  
  <pre><code>ELEMENT ELEMENT_VALUE
  ------- -------------
        1 Paid
        2 600
        3 EUR
        4 
        5 Electric Company
  </code></pre>
  
  <p>I've tried this regular expression to no avail:</p>
  
  <pre><code>(\w+)(\D+)(\w+)(?(?=in)(\w+)(at)(\w+)(on)(.?$)|((?=to)(\w+)(.?$)))
  </code></pre>
  
  <p>I've looked on a couple of regular expression websites plus this post without much luck:</p>
  
  <p><a href="https://stackoverflow.com/questions/14950082/extract-some-part-of-text-separated-by-delimiter-using-regex">Extract some part of text separated by delimiter using regex</a></p>
  
  <p>Could someone please help?</p>