【发布时间】:2022-10-07 21:51:43
【问题描述】:
我有一个表单,用户通过它输入输入,我正在尝试为表单进行自动完成。我在 ReactJS 中的 title 变量上运行正则表达式。 regexEscape 函数 si 用于转义字符串。
function regexEscape(str) {
return str.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
}
if (title.length > 4) {
matches = movies.filter(movie => {
let input = regexEscape(title);
const regex = new RegExp(`${input}`, "gi")
return movie.match(regex)
})
}
现在,假设用户输入“Departed”,然后它与显示“Departed, The (2006)”的自动完成条目匹配,但我希望能够返回“Departed, The (2006)”,即使用户输入了“逝者"
那可能吗?我需要能够忽略搜索词的顺序,以及排除我认为的逗号,但我还不知道如何忽略单词的顺序
【问题讨论】:
标签: reactjs regex string autocomplete