Digestão de proteínas Regex

Então, estou digerindo uma sequência de proteínas com uma enzima (para sua curiosidade, Asp-N), que se quebra antes das proteínas codificadas por B ou D em uma sequência codificada de uma letra. Minha análise real usaString#scan para as capturas. Estou tentando descobrir por que a expressão regular a seguir não a digere corretamente ...

(\w*?)(?=[BD])|(.*\b)

onde o antecedente(.*\b) existe para capturar o final da sequência. Para

MTMDKPSQYDKIEAELQDICNDVLELLDSKGDYFRYLSEVASGDN

Isso deve dar algo como:[MTM, DKPSQY, DKIEAELQ, DICN, DVLELL, DSKG, ... ] mas perde cada D na sequênci

Eu tenho usadohttp: //www.rubular.co para solução de problemas, que roda na versão 1.8.7, embora eu também tenha testado este REGEX na versão 1.9.2 sem sucesso. No meu entender, asserções de aparência zero com largura zero são suportadas nas duas versões do ruby. O que estou fazendo de errado com minha regex?

questionAnswers(2)

yourAnswerToTheQuestion