Grundsätzlich habe ich versäumt, ein Array so zu erstellen, wie ich es will, Was denkst du ist die beste Methode, um ein Array zu erstellen, um alle regexp Übereinstimmungen zu finden, die gefunden werden? Kannst du mir ein Beispiel zeigen?Javascript nodejs & arrays
Hier ist ein Beispiel für die Ausgabe:
die von einer Variablen namens msg geben wirdID name ping Snap updt dist Posi
765611981281 nameexampple1 #### 600 0 0
765611981281 #### nameexampple2 31 0 0
765611981281 nameexampple3 #### 41 0 0
Grundsätzlich möchte ich Captures zu Array übereinstimmen und ausgeben, so dass nur die ID/Name/Ping-Zeilen einzeln in einem Array-Index indiziert werden, die ich später mit der Regex-Gruppe wie Arraylist [2] .highping [2 aufrufen kann ] und das würde ausgeben (nameexample2, weil es die zweite Zeile der arraylist ist), da highping regex group 2 der Benutzername für dieses Capture ist.
//RegExp
var pingchecker = new RegExp(/^([0-9]{0,17}).+?(\w+).+?([0-9].+).+?([0-9]).+?([0-9])/m); //set to multi line
//Finds RegExp of id name ping etc from msg which is the live feed to rcon
if (/^id.+?name.+?ping.+?snap.+?updt.+?posi.+?dist/.test(msg)) {
console.log('PING CHECKER - Passing to Conditional');
//Finds RegExp of pingchecker from msg which is the live feed to rcon
if((highping = pingchecker.exec(msg))) {
console.log('SteamID: ' + highping[1] + ' PlayerName: ' + highping[2] + ' Ping: ' + highping[3]) //outputs one player as normal.
}
}
Macht dies für irgendjemanden Sinn? Gehe ich falsch herum? Im Grunde brauche ich Zeiger, der obige Code wird nur zum Beispiel von der ersten gefundenen Übereinstimmung ausgegeben.
Ich denke, dass Sie Ihre Frage von Hand verbessern können, die erwartete Arrayausgabe errichtend. Die Beschreibung in reinem Text kann verwirrend sein. –
ja, ein Beispiel für die erwartete Ausgabe geht ein langer Weg, um zu helfen –
Vielen Dank für Kommentare, aber scheint jemand bereits mein Problem für mich bereits gelöst. Vielen Dank für Ihre Antworten, wenn ich das nächste Mal posten werde. – DougvF