title: What's wrong with this regex in vb.NET?
body: <p>I have a html text file and I am trying to remove any HTML tags in tables, i.e. remove any HTML within THE <code>&lt;TABLE&gt;</code> and <code>&lt;/TABLE&gt;</code> tags. </p>
  
  <p>However, what's really weird is that the regex that I use, 
  <code>(?&lt;=&lt;table((?!&lt;/table).)*)&lt;(?!/table)[^&gt;]+&gt;</code>, 
  works perfectly in PowerGREP or EditPad Pro, however, when applied in vb.NET (or Expresso) to the VERY SAME text, it does NOT work! </p>
  
  <p>I just use a simple replace method: <code>newString = Regex.Replace(oldString, "(?&lt;=&lt;table((?!&lt;/table).)*)&lt;(?!/table)[^&gt;]+&gt;", string.Empty, RegexOptions.IgnoreCase)</code></p>
  
  <p>I'm getting totally confused and am wondering if anyone can help me out and see why this is the case and what change I need to make in order for it to work in .NET. Thanks!</p>
  
  <p>Below is the example text:</p>
  
  <pre><code>================
  texttexetext
  
  &lt;TABLE&gt;
  
    &lt;TAG1&gt;
  
      &lt;TAG2&gt;tabletext&lt;TAG3&gt;
  
      &lt;TAG4&gt;
  
  &lt;/TABLE&gt;
  
  texttexttext
  ===============
  </code></pre>
  
  <p>Final output in PowerGREP is </p>
  
  <pre><code>================
  texttexetext
  
  &lt;TABLE&gt;
  
  
   tabletext
  
  
  &lt;/TABLE&gt;
  
  texttexttext
  ===============
  </code></pre>