title: I want to grep words that have a hyphen in the middle and start with uppercase letter + words that start with uppercase letter without hyphen
body: <p>I want the regex that allows me to match words that have hyphen in the middle and start with uppercase letter + words that start with uppercase letter without hyphen.<br />
  also i want only the first letter to be uppercase, all the others are lowercase, something like (ENGLAND) is not what i need, because all letters are uppercase</p>
  <p>I will give examples for all the wanted words' structure:</p>
  <pre><code>Wilkes-Barre
  California
  </code></pre>
  <p>I have tried:</p>
  <pre><code>[A-Z][a-z-]\+[A-Z][a-z]\+
  </code></pre>
  <p>but it only matches things like Wilkes-Barre it doesnt match California
  also tried</p>
  <p><code>[A-Z][a-z-]\+</code></p>
  <p>this one matches things like California, but it matches Wilkes-Barre as it is 2 words: Wilkes-    and Barre</p>
  <p>So if someone please can help me find the regex that matches those 2 types of words, so if grep a file that has</p>
  <pre><code>Wilkes-Barre
  California
  ENGLAND
  rome
  </code></pre>
  <p>It will only match the first 2 and it will give 2 matches not 3.</p>