title: Regex How can I find names only written in upper-case letters(mandatory), and the names may also contain numbers, literal spaces, and hyphens
body: <p>If I want to find &quot;KFC&quot;, &quot;EU 8RF&quot;, and IK-OTP simultaneously, what should the code look like?</p>
  <p>My code is :</p>
  <pre><code>db.business.find({name:/^[A-Z\s?\d?\-?]*$/}, {name:1}).sort({&quot;name&quot;:1})
  </code></pre>
  <p>but it will return the name that is whole number, such as 1973, 1999. How should I improve my code? TIA</p>