我已经尝试了一段时间的正则表达式,但仍然无法获得我想要的结果。任何帮助将非常感激!
示例:
我以前一直在使用:
new RegExp(`^\\s*${keyword}\\s*$`, 'i');
要查找输入关键字/词组的完全匹配,例如:
let keyword = 'build',
keywordTest = new RegExp(`^\\s*${keyword}\\s*$`, 'i');
//user supplied
let value1 = 'build',
value2 = 'build something';
let matches1 = keywordTest.test(value1); // true - correct
let matches2 = keywordTest.test(value2); // false - correct
但我现在有了一个新的用例,其中方括号可以作为标签提供,例如:
let value3 = 'build [new build]';
let matches3 = keywordTest.test(value3); // false - but needs to be true
这是一个代码笔:
https://codepen.io/anon/pen/mprzgV
我试图使用负面的前瞻,但我们并没有真正接近我需要的东西。
注意:这实际上是一个直接应用于mongo数据库查询的正则表达式,因此不仅仅是使用javascript来首先拆分字符串。