title: regex skip matches if they contain substring
body: <p>This is the test case:</p>
  <pre><code>&lt;td&gt;ARMOIRE 6 PORTES &amp;lt;span style=&amp;quot;font-family: arial;&amp;quot;&amp;gt;&amp;lt;u style=&amp;quot;color: rgb(170, 170, 170);&amp;quot;&amp;gt;:&lt;/td&gt;&lt;td&gt;Longueur : 297 cm - Profondeur : 73 cm - Hauteur : 260 cm.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;ARMOIRE 4 PORTES &amp;lt;span style=&amp;quot;font-family: arial;&amp;quot;&amp;gt;&amp;lt;u style=&amp;quot;color: rgb(170, 170, 170);&amp;quot;&amp;gt;:&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Chevet
  </code></pre>
  <p>And here's my solution:
  (?&lt;=&amp;)(?!.<em>&lt;).</em>?(?=[A-Z])</p>
  <p>Basically I want to select everything between a &amp; and the first instance of [A-Z], but not if it contains a html tag bracket.
  At first I thought it doesn't work, because it didn't - not in Notepad++, not on regex101.com</p>
  <p>However, if I modify the test string</p>
  <pre><code>&lt;td&gt;ARMOIRE 6 PORTES &amp;lt;span style=&amp;quot;font-family: arial;&amp;quot;&amp;gt;&amp;lt;u style=&amp;quot;color: rgb(170, 170, 170);&amp;quot;&amp;gt;:&lt;/td&gt;&lt;td&gt;Longueur : 297 cm - Profondeur : 73 cm - Hauteur : 260 cm.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;ARMOIRE 
  4 PORTES &amp;lt;span style=&amp;quot;font-family: arial;&amp;quot;&amp;gt;&amp;lt;u style=&amp;quot;color: rgb(170, 170, 170);&amp;quot;&amp;gt;:&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Chevet
  </code></pre>
  <p>then it works. <a href="https://regex101.com/r/8FviAF/1" rel="nofollow noreferrer">test on regex101</a></p>
  <p>I would like to understand why and how I can modify my regex to cover both cases - if possible.</p>