Heim > Web-Frontend > js-Tutorial > Wie greife ich in regulären JavaScript-Ausdrücken auf erfasste Untergruppen zu?

Wie greife ich in regulären JavaScript-Ausdrücken auf erfasste Untergruppen zu?

Linda Hamilton
Freigeben: 2024-12-19 12:12:20
Original
897 Leute haben es durchsucht

How Do I Access Captured Subgroups in JavaScript Regular Expressions?

Zugriff auf übereinstimmende Gruppen in regulären JavaScript-Ausdrücken

Beim Abgleichen einer Zeichenfolge mit einem regulären Ausdruck ist es wichtig zu verstehen, wie die erfassten Untergruppen abgerufen werden . In JavaScript wird dies durch die Erfassung von Gruppen innerhalb des regulären Ausdrucks erreicht.

Betrachten Sie das folgende Beispiel:

var myString = "something format_abc"; // Target substring: "abc"

var arr = /(?:^|\s)format_(.*?)(?:\s|$)/.exec(myString);

console.log(arr); // [" format_abc", "abc"]
console.log(arr[1]); // undefined
console.log(arr[0]); // format_undefined
Nach dem Login kopieren

Grund für undefinierte Ausgabe:

Während der reguläre Ausdruck korrekt mit der Teilzeichenfolge „abc“ übereinstimmt, wird beim Zugriff auf arr[1] aufgrund einer falschen Ausgabe in den console.log-Anweisungen undefiniert zurückgegeben. console.log interpretiert die Zeichenfolge %A als Formatierungsplatzhalter und versucht, sie durch den zweiten Parameter zu ersetzen, der in diesem Fall undefiniert ist.

Zugriff auf übereinstimmende Gruppen:

Um die übereinstimmende Gruppe zu extrahieren, verwenden Sie arr[1]. Dadurch wird korrekt „abc“ zurückgegeben.

Iterieren über mehrere Übereinstimmungen (ES2020):

JavaScript 2020 hat die Methode matchAll eingeführt, die einen Iterator liefert, der verwendet werden kann Alle Übereinstimmungen in einer Zeichenfolge durchlaufen.

const string = "something format_abc";
const regexp = /(?:^|\s)format_(.*?)(?:\s|$)/g;
const matches = string.matchAll(regexp);

for (const match of matches) {
  console.log(match);
  console.log(match.index);
}
Nach dem Login kopieren

Dieser Ansatz bietet eine sauberere und intuitivere Handhabung mehrere Übereinstimmungen.

Das obige ist der detaillierte Inhalt vonWie greife ich in regulären JavaScript-Ausdrücken auf erfasste Untergruppen zu?. 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