正则表达式和变量似乎是这里的当前问题,但是我没有找到解决问题的答案。
这很简单,我正在使用名为nedb的JavaScript的noSQL数据库系统。顺便说一句 GitHub链接
这是对我们重要的部分:
// Finding all planets whose name contain the substring 'ar' using a regular expression
db.find({ planet: /ar/ }, function (err, docs) {
// docs contains Mars and Earth
});
如您所见,表达式/ ar /表示“包含子字符串ar”,这是经典的正则表达式。我想要的是用一个变量(用户搜索的结果)替换ar。
Like this :
var search = ‘ar'; //taken from an HTML form
db.find ({planet : ‘/‘ + search + ‘/‘}, fonction (err,docs) {
}
不幸的是,这不起作用。都没有:
var search = ‘/ar/';
db.find ({planet : search}, fonction (err,docs) {
}
你有什么想法 ?可能对您来说很漂亮,但是我在这个问题上失去了主意啊哈!感谢大伙们
使用RegExp构造函数:
db.find({ planet: new RegExp(yourString) }, function (err, docs) {
如果您的字符串可以是任何东西,则最好将其转义。然后查看此相关答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句