Regex Nome do grupo de problemas Redefinição?

Então, eu tenho este regex:

(^(\s+)?(?P<NAME>(\w)(\d{7}))((01f\.foo)|(\.bar|\.goo\.moo\.roo))$|(^(\s+)?(?P<NAME2>R1_\d{6}_\d{6}_)((01f\.foo)|(\.bar|\.goo\.moo\.roo))$))

Agora, se eu tentar fazer uma partida contra isso:

B048661501f.foo

Eu recebo este erro:

  File "C:\Python25\lib\re.py", line 188, in compile
    return _compile(pattern, flags)
  File "C:\Python25\lib\re.py", line 241, in _compile
    raise error, v # invalid expression
sre_constants.error: redefinition of group name 'NAME' as group 9; was group 3

Se não conseguir definir o mesmo grupo duas vezes na mesma expressão regex para dois casos diferentes, o que devo fazer?

questionAnswers(2)

yourAnswerToTheQuestion