Javascript正则表达式匹配括号

时间:2017-12-22 15:17:20

标签: javascript regex

我已经尝试了一段时间的正则表达式,但仍然无法获得我想要的结果。任何帮助将非常感激!

示例:

我以前一直在使用:

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来首先拆分字符串。

0 个答案:

没有答案