0

在谷歌云计算库节点JS正则表达式,我怎么可以过滤使用getVMs方法内的options.filter正则表达式?如何筛选使用谷歌云计算的node.js getVMs

文档:https://googlecloudplatform.github.io/google-cloud-node/#/docs/compute/0.7.1/compute?method=getVMs

下面我试图返回一个空数组,并有在文档中没有明显的例子(呢!)。我的目标是获得以“前缀”作为名称开头的一个实例。

有101个实例,这是第101个。

compute.getVMs({ 
    maxResults: 100, 
    filter: 'name eq ^prefix' 
}); 

搜索在{名称} {比较} {filterString}的格式过滤器。 名称:该字段的名称进行比较 比较:比较运算,eq(等于)或NE(不等于) filterString:字符串过滤到。 对于字符串字段,这可以是一个正则表达式

回答

0

您在模式末尾缺少“.$”。基本上你需要指定你想要“匹配一个以'prefix'开头的字符串,后面跟着'prefix'后面的任意数量的字符,直到整个字符串的结尾”。您可以抑制焦炭专用($)“整个字符串的结束”,但你不能压制“匹配任意数目的字符”特殊字符()。这是一个工作示例:

const Compute = require('@google-cloud/compute'); 
const gce = new Compute({ 
    projectId: 'your-project-id-here' 
}); 

gce.getVMs({ 
    maxResults: 100, 
    filter: 'name eq ^prefix.*' 
}, function(err, vms) { 
    console.log(vms); 
});