Heim > Web-Frontend > js-Tutorial > Warum gibt mein JavaScript-Regex beim Abgleichen von Punkten Null zurück?

Warum gibt mein JavaScript-Regex beim Abgleichen von Punkten Null zurück?

Patricia Arquette
Freigeben: 2024-12-09 14:55:12
Original
756 Leute haben es durchsucht

Why Is My JavaScript Regex Returning Null When Matching Points?

Warum der JavaScript-Regex nicht funktioniert

Problem:

Sie stoßen auf ein Null-Ergebnis beim Versuch, eine Liste von Punkten in JavaScript mit einem regulären abzugleichen Ausdruck.

Regex-Ausdruck:

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

Lösung:

  • Verwenden Sie einen regulären Ausdruck literal:
var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
Nach dem Login kopieren
  • Fehler bei der Verwendung von RegExp:

    • Trennzeichen (/) sollten nicht Teil sein des Ausdrucks.
    • Backslashes sollten mit Escapezeichen versehen werden, wenn der Ausdruck als definiert ist string.
    • Modifikatoren sollten als zweites Argument an die Funktion übergeben werden.

Hinweis:

While Die Verwendung von RegExp ist eine Option. Oft ist es bequemer, Regex-Literale zu verwenden.

Extrahieren Werte:

  • .match() gibt ein Array von Zeichenfolgen zurück, was möglicherweise nicht nützlich ist.
  • .exec() kann verwendet werden, um kontinuierlich Zahlen zu extrahieren, bis das Ganze erreicht ist Zeichenfolge wird verarbeitet:
var result, points = [];
while((result = reg.exec(polygons)) !== null) {
    points.push([+result[1], +result[2]]);
}
Nach dem Login kopieren

Dadurch wird ein Array von Arrays erstellt, die die extrahierten Zahlen enthalten. Das unäre Plus ( ) wandelt die Zeichenfolgen in Zahlen um.

Das obige ist der detaillierte Inhalt vonWarum gibt mein JavaScript-Regex beim Abgleichen von Punkten Null zurück?. 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