title: how expect match a pattern with atleast one number,one lower case ,one upper case
body: <p>using Expect how can I check whether the given input has at least one upper case,at least one lowercase and at least one number or "!-%#"? 
  For a similar question where the min number of input string is 10, someone answered</p>
  
  <pre><code>expect  ^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])([!-%#])*.{10,}$
  </code></pre>
  
  <p>As I'm new to Tcl and Expect, can anyone please explain how the above code works?
  Why is it not working if we remove <code>{10,}</code> in order to remove the minimum limit? </p>