作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
所以,我正在用一种 enzyme (出于好奇,Asp-N)消化蛋白质序列,这种 enzyme 在单字母编码序列中由 B 或 D 编码的蛋白质之前切割。我的实际分析使用 String#scan
进行捕获。我试图弄清楚为什么以下正则表达式不能正确消化它...
(\w*?)(?=[BD])|(.*\b)
前提 (.*\b)
存在以捕获序列的末尾。对于:
MTMDKPSQYDKIEAELQDICNDVLELLDSKGDYFRYLSEVASGDN
这应该给出如下内容:[MTM, DKPSQY, DKIEAELQ, DICN, DVLELL, DSKG, ... ]
但会遗漏序列中的每个 D。
我一直在使用 http://www.rubular.com用于故障排除,它在 1.8.7 上运行,尽管我也在 1.9.2 上测试了这个 REGEX 无济于事。据我了解,两个版本的 ruby 都支持零宽度先行断言。我的正则表达式做错了什么?
最佳答案
基本上,您想在每个 B 或 D 之前剪弦吗?
"...".split(/(?=[BD])/)
给你
["MTM", "DKPSQY", "DKIEAELQ", "DICN", "DVLELL", "DSKG", "DYFRYLSEVASG", "DN"]
关于ruby - 正则表达式蛋白质消化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052211/
我是一名优秀的程序员,十分优秀!