I have a regular expression: `ATG(C|G|A)(C|T)GA`

The above regular expression could take any form with only OR (`|`) special characters at any position in the string and any number of alphabets within the brackets.

I want to match all combinations of this string in a list:

```
ATGCCGA
ATGCTGA
ATGGCGA
ATGGTGA
ATGACGA
ATGATGA

```

I am unable to find any python library that could do this.