title: Regexp Javascript multiple matches and multiple separators
body: <p>I have the following string:</p>
  
  <pre><code>{!target.useremail!}-{!target.name}
  </code></pre>
  
  <p>As result I want to have the following array:</p>
  
  <pre><code>["useremail", "-", "name"]
  </code></pre>
  
  <p>I could also have the following string:</p>
  
  <pre><code>{!target.useremail!}-{!target.name} {!target.help!}{!target.thanks!}
  </code></pre>
  
  <p>This will result in:</p>
  
  <pre><code>["useremail", "-", "name", " ", "help", "thanks"]
  </code></pre>
  
  <p>Is it possible to archieve this with RegExp? So yes, what is the RegExp and how does it works? </p>
  
  <p>With the following RegExp I am able to retrieve the first item: {!target.(.*)!}</p>
  
  <p>Some remarks:</p>
  
  <ul>
  <li>I could have unlimited {!target.somevalues!}</li>
  <li>Any char(s) (except {! and !}) between the {!target.somevalue!} and another {!target.somevalue!} are accepted.</li>
  </ul>