我有一个正则表达式:
var patt = /(word)(stmt)(hello)/;
我的示例文本是:
var sample = "wordhello";
并且光标在位置索引 4 处;如何从正则表达式中提取“stmt”作为缺失词?
我有一个正则表达式:
var patt = /(word)(stmt)(hello)/;
我的示例文本是:
var sample = "wordhello";
并且光标在位置索引 4 处;如何从正则表达式中提取“stmt”作为缺失词?
从您的评论和原始的正则表达式模式来看,您想要的实际上可能不是正则表达式,而是这样的:
function detectMissing(string, set) {
var offset = 0, missing = [], pos;
for(var i = 0, l = set.length ; i < l ; i++) {
pos = string.indexOf(set[i], offset);
if(pos === -1) {
missing.push(set[i]);
} else {
offset = pos + set[i].length;
}
}
return missing;
}
detectMissing("wordhello", ["word", "stmt", "hello"]); // -> ["stmt"]