感谢您的输入。我得到的解决方案是http://jsfiddle.net/76zXf/12/。这似乎可以满足我的要求,并且在正确答案之前和之后允许任意数量的空格,并在答案中允许“+”和“-”。(因此,“3,+3,-3”的答案行适用于“9 的平方根是多少?”的问题)我能够使用比 proprelkey 发布的更简单的构建功能来做到这一点:
$('#answerLine').change(function() {
s = this.value.replace(/\*/,'.*'); // change all "*" for ".*"
s = s.replace(/\+/,'\\+'); // change all "+" for "\+*"
s = s.replace(/\-/,'\\-'); // change all "-" for "\-*"
a1 = s.split(/,/); // get individual terms into an array
a2 = a1.map( // for each term . . .
function(x){
exp = '^\\s*' + x + '\\s*$'; // build complete reg expression
return( exp ); // return this expression to array
}
);
re = RegExp( a2.join("|"),'i'); // our final, complete regExp
我希望我不会错过任何重要的案例。再次感谢。