我一直在阅读String
今天的文档,我看到了:sub
以前从未注意过的方法.我一直在使用:gsub
,看起来它们基本相同.任何人都可以向我解释这个区别吗?谢谢!
我在React渲染中遇到了持久性问题.
这段代码
/** @jsx React.DOM */
var AnswerRows = React.createClass({
componentDidMount: function() {
},
render: function() {
{this.props.answers.map(function(answer, i) {
return (
<div id="answerRow">
<label className="AnswerText">
<input type="checkbox" value={answer.id} />
{answer.text}
</label>
</div>
);
}, this)}
}
});
var QuizTaking = React.createClass({
componentDidMount: function() {
},
render: function() {
return (
<div className="card-holder">
<div className="showQuestionCard x-card host">
<h3 dangerouslySetInnerHTML={{__html: this.props.question.text}}></h3>
<div className="answerRows">
<AnswerRows answers={this.props.question.answers}/>
</div>
<div className='submitAnswers'></div>
</div>
<div className="paper-shadow-bottom"></div>
</div>
)
}
})
Run Code Online (Sandbox Code Playgroud)
会给我Invariant Violation: AnswerRows.render(): A valid …
所以,我正在用酶(为了你的好奇心,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中都支持零宽度前瞻断言.我的正则表达式做错了什么?