I am not good with regular expressions and was looking at some online resources for what I would like to do. So basically, I have a regular expression in Python as follows:

```
import re
pattern = re.compile(r'(?=(ATG(?:...)*?)(?=TAG|TGA|TAA))')

```

This is supposed to find all sub strings which begin with ATG and end in TAG or TGA or TAA. I use it as:

```
str = "ATGCCCTAG"
print pattern.findall(str)

```

However, this returns `ATGCCC` and removes the trailing `TAG` and I would like it to keep the trailing `TAG`. How can I change it to give me the full substring?