我正在开发一个乐队的搜索引擎,我想这样做,以便用户不需要输入文章来找到乐队。因此,例如,如果有人想要找到“The Black Keys”,他们可以通过输入“Bla”,“Black Keys”,“The Black Keys”或任何类似的变体来找到它们。以下是我到目前为止的情况:
matcher = new RegExp( '^(?<=the)'+searchstring, 'i' );
答案 0 :(得分:2)
这是一个开始:
var tags = ["c++", "java", "the php", "coldfusion", "a javascript", "asp", "the ruby"];
$("#autocomplete").autocomplete({
source: function (request, response) {
var matcher = new RegExp("^(?:(the|a) )?" + $.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(tags, function (item) {
return matcher.test(item);
}));
}
});
正则表达式被修改为:
^
- 单词的开头(?:
- 开始非捕获组(the|a)
- 您的文章列表
- 单词之间的空格)?
关闭非捕获组并将其设为可选。工作fiddle