我有一行包含文本的表。我需要使用regExp从本文中提取值。
我的代码是:
function myfunc(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = spreadsheet.getRange('A1:B1000');
var regExp = /(\?<=Баланс)(.*)(\?=р8)/;
for (var i = 1; i < 1000; i++) {
var cell = range.getCell(i,1)
var cell2 = range.getCell(i,2)
var val = regExp.exec(cell.getValue());
cell2.setValue(val);
}
}
但它没有做任何事情。可能是什么问题?
答案 0 :(得分:1)
你需要修复模式:
/Баланс(.*?)р8/
然后,您可以在与regExp.exec(cell.getValue())
匹配后访问第1组值,可以通过val[1]
访问。
function myfunc(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = spreadsheet.getRange('A1:B1000');
var regExp = /Баланс(.*?)р8/;
for (var i = 1; i < 1000; i++) {
var cell = range.getCell(i,1)
var cell2 = range.getCell(i,2)
var val = regExp.exec(cell.getValue());
if (val) {
cell2.setValue(val[1]);
}
}
}
请注意,仅使用=REGEXEXTRACT
:
=REGEXEXTRACT(A13,"Баланс(.*?)р8")