title: regex for passphrase
body: <p>I'm a newbie to regex and trying to create a regex to validate pass phrases. I would like to validate that the pass phrase has:</p>
  
  <ul>
  <li>n number of words or more</li>
  <li>words should be separated by spaces</li>
  <li>words, each with n characters or more</li>
  <li>a number in at least one of the words</li>
  <li>at least one special character in one of the words</li>
  </ul>
  
  <p>This is what what I have so far</p>
  
  <pre><code>^(?=.*?((?:.*?\b[a-zA-Z0-9]{2,40}\b)\s*){3,})(?=.*?[@#$%^&amp;+=])(?=.*?[0-9]).*$
  </code></pre>
  
  <p>It matches this <code>Pe2sI#sHy?ThYulU#</code> phrase that does not have at least 3 words (no spaces). What am I doing wrong? </p>