假设有字符串:
var se = 'Trampolines rain cover';
和tere是搜索词:
var te = 'trampoline';
我有RegExp:
RegExp('\\b(('+te+')|('+te+')[s])\\b', 'gi');
它匹配字符串中的'Trampolines'。
问题:如果我寻找t ='蹦床雨';在带有提及RegExp的字符串中 - 没有问题 - 它确实匹配,但如果我要寻找 t ='trampoline cover',则不会有任何匹配。
如果可以匹配短语,我该如何编辑这个RegExp,即使它们之间还有其他单词?
答案 0 :(得分:2)
您似乎正在尝试进行全文搜索,这在JS中无法完全发挥作用。看看http://lunrjs.com/。
但只是为了您的使用,它可能会起作用
var se = 'Trampolines rain cover';
var te = 'trampoline cover';
var regexBuilder = '\\b' + te.split(/\s+/).join('s?\\b.*?\\b') + 's?\\b';
var regex = new RegExp(regexBuilder, 'gi');
se.match(regex);