所以,我正在用酶(为了你的好奇心,Asp-N)消化蛋白质序列,它在单字母编码序列中由B或D编码的蛋白质之前切割.我的实际分析String#scan用于捕获.我想弄清楚为什么以下正则表达式不能正确消化它...
(\w*?)(?=[BD])|(.*\b)
Run Code Online (Sandbox Code Playgroud)
(.*\b)存在先行词以捕获序列的结尾.对于:
MTMDKPSQYDKIEAELQDICNDVLELLDSKGDYFRYLSEVASGDN
Run Code Online (Sandbox Code Playgroud)
这应该给出类似的东西:[MTM, DKPSQY, DKIEAELQ, DICN, DVLELL, DSKG, ... ]但是错过序列中的每个D.
我一直在使用http://www.rubular.com进行故障排除,运行在1.8.7上虽然我也在1.9.2上测试了这个REGEX但无济于事.据我所知,在两个版本的ruby中都支持零宽度前瞻断言.我的正则表达式做错了什么?