我正在使用lunr.js。
下面的此Javascript代码
var query = getUrlParameter('q');
var queryWithoutPlus = query.replace(/\+/g, " ");
searchField.value = queryWithoutPlus
index.search(queryWithoutPlus);
因此,查询参数字符串可能看起来像test+ABCD+Test++Test2+-Test+-Test+Test
,并且代码用空格替换了查询参数q
中的+字符,以便以一种不错的方式向用户显示结果,但是搜索字符串类似] >
“ test + test -test”
当前结果为
“ test test -test”
我希望
“ test + test -test”
我尝试使用tempQuery连续多次修改查询,例如
var tempQuery = query.replace(/\+\+/g, " -");
var queryWithoutPlus = tempQuery.replace(/\+\-/g, " -");
但是这不能解决其余的+字符,并且感觉不正确,因此我需要您的帮助。
它是归结为使用正确的正则表达式(不管它是什么,欢迎提出建议),或者甚至有更好的方法将查询参数与lunr.js一起使用?
我正在使用lunr.js。下面的Javascript代码从第一次搜索中获取查询参数,用空格替换绑定+字符,并将修改后的查询存储在搜索字段中,用于...
您需要negative lookbehind查询(?<!\+)