我正在尝试匹配javascript中的文本字符串,只要它不是预定义单词的子字符串即可。
E.g。假设我们在文件中有这些单词,即使有匹配,我也不希望在搜索中显示 blue 这个词;
value
lunar
blue
clue
因此,如果用户搜索 lu ,则应显示除蓝色以外的所有字词。如果用户要搜索 ue ,则只能匹配值和线索。
我试着像这样做一个消极的期待;
((?!blue)lu)
虽然没有工作,但我不确定还能做什么。
答案 0 :(得分:5)
您需要放置\w*
以匹配否定前瞻和搜索字符串之间的0个或多个字词。
使用lu
作为搜索字符串:
/\b(?!blue)\w*lu\w*/
使用ue
作为搜索字符串:
/\b(?!blue)\w*ue\w*/
实际的Javascript代码可以是:
var kw = "lu"; or "ue"
var re = new RegExp("\\b(?!blue)\\w*" + kw + "\\w*");