title: Conditional look-behind (python regex), how to exclude certain words but include certain words?
body: <p>I am having trouble creating a python regex string to retrieve only valid places.</p>
  <p>Take example the following paragraph with 4 lines:</p>
  <blockquote>
  <p>Enjoy up to 70% off at New York branches.</p>
  <p>Enjoy up to 70% off in Canada.</p>
  <p>Not valid at London branches.</p>
  <p>Not valid in Germany.</p>
  </blockquote>
  <p>I only want to get the texts of &quot;<strong>New York branches</strong>&quot; and &quot;<strong>Canada</strong>&quot;, without getting the &quot;London branches&quot; and &quot;Germany&quot;.</p>
  <p>This works but it got all the locations:
  <code>((?&lt;=at ).*(?=\.))|((?&lt;=in ).*(?=\.))</code></p>
  <p>But why this does not work:
  <code>((?&lt;!not )((?&lt;=at ).*(?=\.))|((?&lt;!not )((?&lt;=in ).*(?=\.))</code></p>
  <p>Specifically: I want all text after the word 'at' or 'in', and before a full stop. However, I do not want them if there is a 'not valid' infront.</p>