title: Regex Python exclude some results
body: <p>There is a test String:</p>
  
  <blockquote>
    <p>Module([Assign([Name('a', Store())], Num(2)), Assign([Name('b',
    Store())], Num(3)), Assign([Name('c', Store())], Str('Hello')),
    Assign([Name('x', Store())], BinOp(Name('a', Load()), Add(), Name('b',
    Load()))), Assign([Name('x', Store())], Name('a', Load())),
    Expr(Call(Name('print', Load()), [Name('a', Load())], [], None,
    None)), For(Name('i', Store()), Call(Name('range', Load()), [Num(10)],
    [], None, None), [Expr(Call(Name('print', Load()), [Name('a',
    Load())], [], None, None))], [])])</p>
  </blockquote>
  
  <p>I am trying to get all loaded variable names from it. My regexp is </p>
  
  <pre><code>[a-z]+(?=', Load)
  </code></pre>
  
  <p>Result of it is the following:
  <img src="https://i.imgur.com/wMgyvrI.png" alt="result of regex">
  As you can see it also finds built-in modules such as print, range. How to exclude them? Values to be excluded are preceded by </p>
  
  <pre><code>Call(Name(' 
  </code></pre>
  
  <p>I tried </p>
  
  <pre><code> (?=Call\(Name\(')[a-z]+(?=', Load)
  </code></pre>
  
  <p>but it did not work out.</p>
  
  <p>My code is:</p>
  
  <pre><code>import re
  
  test = '''Module([Assign([Name('a', Store())], Num(2)), Assign([Name('b', Store())], Num(3)), Assign([Name('c', Store())], Str('Hello')), Assign([Name('x', Store())], BinOp(Name('a', Load()), Add(), Name('b', Load()))), Assign([Name('x', Store())], Name('a', Load())), Expr(Call(Name('print', Load()), [Name('a', Load())], [], None, None)), For(Name('i', Store()), Call(Name('range', Load()), [Num(10)], [], None, None), [Expr(Call(Name('print', Load()), [Name('a', Load())], [], None, None))], [])])'''
  print(re.findall(r"[a-z]+(?=', Load)", test))
  print(re.findall(r"(?=Call\(Name\(')[a-z]+(?=', Load) ", test))
  </code></pre>