Я использую скрипт Google для извлечения значений из столбца, соответствующего моему регулярному выражению, но я не могу заставить переменную regex работать с моей операцией if. Когда я устанавливаю переменную в строку, у меня нет проблем с запуском моей функции и возвратом ответа, но она не работает с регулярным выражением, и я пытаюсь выяснить проблему:Запуск RegEx в скрипте Google Если заявление
Вот мой сценарий:
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 Таблица данные (запросы = Column и Row A1):
Queries
dns system
dns systems
ipad dns
ipad dns system
business 101
ipad dns register
dns
в теории это должно поднять на четыре из семи значений в моем листе.
Я также попытался вызвать функцию-конструктор с new RegExp()
, но это не сработало. Есть предположения?
Ваш RegExp читается как «ipad dn (s | d) ns system», вам не хватает скобок. –
Использование 'if (data [i] [0] .match (keywords)) {', я получил 5 результатов: 'dns system',' dns systems', 'ipad dns',' ipad dns system', 'ipad dns register' - это то, что вы ищете? Вы забыли называть '.match()'. Или 'test()': 'if (keywords.test (data [i] [0])) {' –