我使用Google脚本从与我的正则表达式匹配的列中提取值,但我似乎无法使用我的正则表达式变量来处理我的if语句。当我将变量设置为字符串时,我没有运行我的函数并获得响应的问题,但它没有使用正则表达式,我试图找出问题:
这是我的剧本:
function extractBranded() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for (var i = 0; i < data.length; i++) {
var keywords = /ipad dns|dns system/;
if (data[i][0] == keywords) {
Logger.log(data[i][0]);
} else {
}
}
Google表格数据(查询=列和行A1):
Queries
dns system
dns systems
ipad dns
ipad dns system
business 101
ipad dns register
dns
理论上,这应该取决于我的表格中的七个值中的四个。
我也尝试用new RegExp()
调用构造函数,但这不起作用。有什么想法吗?
答案 0 :(得分:2)
使用
if (data[i][0].match(keywords)) {
或者
if (keywords.test(data[i][0])) {
您将获得5个结果:
[15-08-31 23:27:52:850 CEST] dns system
[15-08-31 23:27:52:864 CEST] dns systems
[15-08-31 23:27:52:865 CEST] ipad dns
[15-08-31 23:27:52:866 CEST] ipad dns system
[15-08-31 23:27:52:866 CEST] ipad dns register
您忘记致电match()
或test()
以实际应用正则表达式。