Question: I need to find specific strings in a file upto the line `AUTO HEADER`. I am not sure how to restrict the `regex` to find the matches only upto a specific line. Can someone help me figure that out?

This is my script:

```
import re
a = open("mod.txt", "r").read()
op = re.findall(r"type=(\w+)", a, re.MULTILINE)
print(op)

```

This is my input file mod.txt:

```
bla bla bla
header
module a
  (
 type=bye
 type=junk
 name=xyz type=getme
 type=new
  AUTO HEADER

type=dont_take_it
type=junk
type=new

```

Output:

```
['bye', 'junk', 'getme', 'new', 'dont_take_it', 'junk', 'new']

```

Expected output:

```
['bye', 'junk', 'getme', 'new']

```

In `regex`, I need to consider `AUTO HEADER` but not sure how exactly.

Answer: 
You can iterate each line in the txt file and exit when you find the required key

**Ex:**

```
import re
res = []
with open(filename) as infile:
    for line in infile:
        if "AUTO HEADER" in line:
            break
        op = re.search(r"type=(\w+)", line)
        if op:
            res.append(op.group(1))

print(res)  # --> ['bye', 'junk', 'getme', 'new']

```
This may sound stupid but have you considered not supplying the full text to your Regex match but only the text up to your keyword?
Like no reason to not just seperate it quickly before, no?