在Google脚本中运行RegEx If Statement

时间:2015-08-31 21:13:10

标签: javascript regex google-sheets

我使用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()调用构造函数,但这不起作用。有什么想法吗?

1 个答案:

答案 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()以实际应用正则表达式。