Erfassen von Gruppen in regulären Go-Ausdrücken
In Go verwenden reguläre Ausdrücke die RE2-Bibliothek, der es an nativer Unterstützung für die Erfassung von Gruppen fehlt, wie sie in zu finden ist Ruby und andere Sprachen. Es gibt jedoch eine Lösung, um diese Funktionalität zu emulieren.
Um das gewünschte Verhalten zu erreichen, muss man „P“ an den Gruppennamen anhängen, wie im folgenden aktualisierten Ausdruck dargestellt:
(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})</day></month></year>
Um die Werte aus den erfassenden Gruppen zu extrahieren, kann man die Funktion re.SubexpNames() verwenden, um die Gruppennamen abzurufen und sie mit der Übereinstimmung zu vergleichen Daten.
Betrachten Sie das folgende Beispiel:
package main import ( "fmt" "regexp" ) func main() { r := regexp.MustCompile(`(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})`) fmt.Printf("%#v\n", r.FindStringSubmatch(`2015-05-27`)) fmt.Printf("%#v\n", r.SubexpNames()) }</day></month></year>
In diesem Beispiel gibt r.FindStringSubmatch() die passende Teilzeichenfolge zurück und das entsprechende r.SubexpNames() stellt die Gruppennamen bereit:
[]string{"2015", "05", "27"} []string{"", "Year", "Month", "Day"}
So kann man über Gruppennamen bequem auf das erfasste Jahr, den Monat und den Tag zugreifen und bietet ähnliche Funktionen wie die Erfassung von Gruppen in anderen Sprachen.
Das obige ist der detaillierte Inhalt vonWie kann ich erfassende Gruppen in regulären Go-Ausdrücken emulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

GoroutinesareFunctionsOrtheThatrunConcruncurentoingo, aktivieren, dass und leuchtet die Wutzehnung

ThepurpleTheinitfunctioningoinitializeVariables, Setupconfigurationen, orperformN -nötiger SetupBeforeThemaNFunctionexecutes

GointerfacesAremethodSignaturesSetShattypesMustImplement, EnablingPolymorphism mit der Outinheritanceforcleaner, modularCode.

Verwenden Sie die Funktion resocal (), um sich von Panik zu erholen. Die spezifischen Methoden sind: 1) Verwenden Sie Recover (), um Panik in der Aufschubfunktion zu erfassen, um Programmabstürze zu vermeiden. 2) detaillierte Fehlerinformationen zum Debuggen aufzeichnen; 3) entscheiden, ob die Programmausführung auf der Grundlage der spezifischen Situation wieder aufgenommen werden soll; 4) Verwenden Sie mit Vorsicht, um die Leistung zu vermeiden.

In dem Artikel werden mit dem "Strings" -Paket von Go für String -Manipulationen untersucht, in denen gemeinsame Funktionen und Best Practices beschrieben werden, um die Effizienz zu verbessern und Unicode effektiv zu verarbeiten.

Die Artikeldetails mit dem "Crypto" -Paket von GO für kryptografische Operationen, Erörterung der wichtigsten Generation, des Managements und der Best Practices für die sichere Implementierung.Character Count: 159

Der Artikel beschreibt die Verwendung von GO's "Time" -Paket zum Umgang mit Daten, Zeiten und Zeitzonen, einschließlich der aktuellen Zeit, der Erstellung bestimmter Zeiten, der Parsen von Zeichenfolgen und der Messung der verstrichenen Zeit.

In Artikel wird das "Reflect" -Paket von GO zur variablen Inspektion und Änderung mithilfe von Methoden und Leistungsüberlegungen erläutert.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung
