Heim >Web-Frontend >js-Tutorial >Wie extrahiere ich mit RegExp.exec() alle Übereinstimmungen aus einer Zeichenfolge?

Wie extrahiere ich mit RegExp.exec() alle Übereinstimmungen aus einer Zeichenfolge?

Susan Sarandon
Susan SarandonOriginal
2024-12-18 06:00:15322Durchsuche

How to Extract All Matches from a String Using RegExp.exec()?

RegExp zum Extrahieren mehrerer Übereinstimmungen mit RegExp.exec

Um alle Übereinstimmungen aus einer Zeichenfolge mit RegExp.exec zu extrahieren, können Sie weiterhin re aufrufen .exec(s) in einer Schleife. Das folgende Code-Snippet demonstriert dies:

var re = /\s*([^[:]+):\"([^"]+)"/g;
var s = '[description:"aoeu" uuid:"123sth"]';
var m;

do {
    m = re.exec(s);
    if (m) {
        console.log(m[1], m[2]);
    }
} while (m);

Mit der bereitgestellten Testzeichenfolge „[description:"aoeu" uuid:"123sth"]' gibt dieser Code Folgendes aus:

description aoeu
uuid 123sth

Beachten Sie, dass der hier verwendete reguläre Ausdruck:

  • s*: Entspricht optionalen Leerzeichen um das Doppelpunkt.
  • ([^[:] ): Entspricht jeder Nicht-Leerzeichen-Sequenz als Schlüssel.
  • :: Entspricht dem wörtlichen Doppelpunkt.
  • ("([^ „] )“: Entspricht dem Wert als jede in doppelte Anführungszeichen eingeschlossene Sequenz ohne doppelte Anführungszeichen.

Um diese Lösung zu testen, können Sie verwenden der bereitgestellte JSFiddle-Link: https://jsfiddle.net/7yS2V/.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mit RegExp.exec() alle Übereinstimmungen aus einer Zeichenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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