Heim > Web-Frontend > js-Tutorial > Warum kann mein JavaScript-Regex keine Koordinaten aus einem String extrahieren?

Warum kann mein JavaScript-Regex keine Koordinaten aus einem String extrahieren?

Linda Hamilton
Freigeben: 2024-12-21 17:46:16
Original
291 Leute haben es durchsucht

Why Is My JavaScript Regex Failing to Extract Coordinates from a String?

Warum funktioniert dieser JavaScript-Regex nicht?

Beim Versuch, Punkte aus einer Zeichenfolge mit einem regulären Ausdruck zu extrahieren, ist ein Benutzer auf eine Null gestoßen Ergebnis. Der bereitgestellte reguläre Ausdruck „(s([0-9.-] )s,s([0-9.-] )s*)“ stimmt mit Punkten überein, die in Klammern eingeschlossen und durch Kommas getrennt sind. Wenn es jedoch auf eine Zeichenfolge wie „(25.774252, -80.190262),(18.466465, -66.118292),(32.321384, -64.75737),(25.774252, -80.190262)“ angewendet wird, ist es schlägt fehl.

Lösung

Die Hauptursache ist die falsche Verwendung des RegExp-Konstruktors. Um ein Regex-Literal zu verwenden, das praktischer und weniger fehleranfällig ist, ersetzen Sie „new RegExp“ durch „/“. Darüber hinaus werden Modifikatoren als zweites Argument übergeben:

var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
Nach dem Login kopieren

Hinweis zur Ausgabe

match() gibt ein Array übereinstimmender Zeichenfolgen zurück, was möglicherweise nicht nützlich ist Zahlenwerte extrahieren. Stattdessen sollte exec() verwendet werden, um einzelne Übereinstimmungen zu extrahieren:

var result, points = [];

while ((result = reg.exec(polygons)) !== null) {
    points.push([+result[1], +result[2]]);
}
Nach dem Login kopieren

Dadurch wird ein Array erstellt, das Koordinaten als Zahlen enthält. Wenn Zeichenfolgen bevorzugt werden, können Sie alternativ das unäre Pluszeichen ( ) weglassen.

Das obige ist der detaillierte Inhalt vonWarum kann mein JavaScript-Regex keine Koordinaten aus einem String extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage