繁体   English   中英

正则表达式,用于匹配字符串中的单词

[英]Regex for Matching Words within a String

这是我到目前为止的内容,但仅与目标字符串的开头匹配:

var enteredText = new RegExp("^" + $.ui.autocomplete.escapeRegex(term), "i");

$.ui.autocomplete.filter = function(array, term) {
    var enteredText = new RegExp("^" + $.ui.autocomplete.escapeRegex(term), "i");

    return $.grep(array, function(value) {
        return enteredText.test(value.label || value.value || value);
    });
};

注意:$ .ui.autocomplete.filter允许我更改jQuery UI如何使用自动完成功能搜索术语。

“术语”是输入到输入框中的文本。

“ $ .grep”将自动完成“数组”中的每个元素插入“ function(value)”

编辑1:我正在寻找一个正则表达式来搜索字符串中每个单词的开头。 例如,“一个”与“我喜欢安迪”匹配,而与“我喜欢糖果”不匹配。

这是我到目前为止的内容,但仅与目标字符串的开头匹配:

解决这个问题

尝试这个:

删除^因为您不想只在字符串的开头。

var enteredText = new RegExp($.ui.autocomplete.escapeRegex(term), "i");

为此:

编辑1:我正在寻找一个正则表达式来搜索字符串中每个单词的开头。 例如,“一个”与“我喜欢安迪”匹配,而与“我喜欢糖果”不匹配。

既然您说了想匹配的内容,就必须在正则表达式的前面加上.+? 喜欢

var enteredText = new RegExp(".*"+$.ui.autocomplete.escapeRegex(term)+".*", "i");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM