Verstehen der Ausgabe der Funktion „ReplaceAllString“ von Go
Die Funktion „ReplaceAllString“ in Go bietet eine Möglichkeit, alle Übereinstimmungen eines regulären Ausdrucks innerhalb einer Zeichenfolge zu ersetzen . Während die erste Ausgabe des bereitgestellten Beispielcodes einfach zu verstehen ist, können die folgenden Ausgaben rätselhaft erscheinen.
Ausgabe 2 und 4: $1-Rückverweise verstehen
In der zweiten und vierte Ausgabe: $1 bezieht sich auf die Erfassungsgruppe, die durch den ersten Klammersatz im regulären Ausdruck definiert wird: a(x)b. Diese Erfassungsgruppe gleicht die Zeichenfolge ab, die aus einer beliebigen Anzahl von „x“-Zeichen besteht, und erfasst sie.
Ausgabe 3: $1 verstehen W
Die dritte Ausgabe (fmt.Println(re.ReplaceAllString("-ab-axxb-", "$1W"))) ist die faszinierendste. In der Dokumentation zu „ReplaceAllString“ heißt es, dass „$-Zeichen“ im Ersetzungsmuster wie in der Expand-Funktion interpretiert werden:
Innerhalb von repl werden $-Zeichen wie in ExpandExpand gibt Folgendes an:
In der Vorlage wird eine Variable durch einen Teilstring der Form $name oder ${name} bezeichnet, wobei name eine nicht leere Folge von Buchstaben und Ziffern ist , und Unterstriche.Ein Verweis auf einen außerhalb des gültigen Bereichs liegenden oder nicht übereinstimmenden Index oder einen Namen, der nicht im regulären Ausdruck vorhanden ist, wird durch ein leeres Segment ersetzt.
In der $name-Form wird der Name als angenommen so lang wie möglich: $1x entspricht ${1x}, nicht ${1}x, und $10 entspricht ${10}, nicht ${1}0.
leere Zeichenfolge ("") ersetzt.
Das obige ist der detaillierte Inhalt vonWie geht die Funktion „ReplaceAllString' von Go mit der Ersetzung von „$1W' um, wenn die Erfassungsgruppe „1W' nicht im regulären Ausdruck definiert ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!