title: Regex match a group not ending with specific string
body: <p>I'm using javascript regex engine, and I have difficulties using a regex :</p>
  
  <p>Here is a Sample (it's an ugly js script extraction of what I have to match):</p>
  
  <pre><code>{data = function() {[{id:"1441-aeze",name:"theme1"},{id:"1441-aezb",name:"theme2"},{id:"1441-aezc",name:"theme3-a"},{id:"1441-aezd",name:"theme1-mtr"},{id:"1441-aezf",name:"theme4"}]}}
  </code></pre>
  
  <p>My regex try : </p>
  
  <pre><code>id:"([^"]+)",name:"(?![^"]*mtr$)[^"]*"
  </code></pre>
  
  <p>Expected result for matching group 1:</p>
  
  <pre><code>Match[1] : 1441-aeze
  Match[1] : 1441-aezb
  Match[1] : 1441-aezc
  Match[1] : 1441-aezf
  </code></pre>
  
  <p>But it's matching every portion of my sample. I don't understand why</p>
  
  <p>Here is reg101 : <a href="https://regex101.com/r/tY1aG7/1" rel="nofollow">Regex101 example</a></p>