https://jsfiddle.net/sbzxd5ya/1/ - Hier ist ein Javascript, das funktioniert, wo ich versuche, einige Werte aus einer Spalte in einem Array mit regulären Ausdruck zu extrahieren.nicht übereinstimmende Gruppen in Google App-Skript
Aber wenn ich versuche, Google-App-Skript i bekommen - Syntaxerror: Unübertroffene) in regulärem Ausdruck für var - Splitter
function getSpreadsheetData61() {
var data6 = [
["id", "name", "count", "Category"],
["1", "g", "8", "[(P2, 7), (P1, 1)]"],
["2", "g", "8", "[(P0, 7), (P2, 1)]"],
["2", "g", "8", "[(P0, 7), (P2, 1),(P1,5)]"],
["3", "g", "8", "[()]"],
["4", "t", "4", "[(P2, 4)]"]
];
var output=[];
for (var i = 1; i < 2; i++) {
var row = data6[i];
data6.map(function(row) {
var toExpand = row[row.length - 1];
var indices = new RegExp('/\(?:\\(P)(\d)/','g');
var splitter = new RegExp('/(\d)(?:\))','g');
var extracted;
var eIndex;
Logger.log(splitter);
toAdd = [0, 0, 0];
while (extracted = splitter.exec(toExpand)) {
eIndex = indices.exec(toExpand);
toAdd[eIndex[1]] = extracted[1];
}
//Logger.log(eIndex);
output.push(row.concat(toAdd));
});
}
Logger.log(output);
return data6;
}
Kann jemand helfen, das Problem zu beheben und das erwartete Ergebnis.
Auch nach Festsetzung es .. Ich habe nicht die erwartete Ausgabe erhalten. –
Ihre "Indizes" Regex hat ein ähnliches Problem. – FTP
var indexes = new RegExp ('/ \ (?: \\ (P) (\\ d) /', 'g'); var splitter = neuer RegExp ('/ (\\ d) (?: \\))','G'); –