Heim >Backend-Entwicklung >Golang >Wie führt man in Go einen Vergleich regulärer Ausdrücke ohne Berücksichtigung der Groß- und Kleinschreibung durch?
Groß- und Kleinschreibung bei regulären Ausdrücken in Go
Bei der Arbeit mit regulären Ausdrücken kann es vorkommen, dass Sie Muster unabhängig von der Groß-/Kleinschreibung abgleichen müssen. In Go können Sie einen Abgleich ohne Berücksichtigung der Groß-/Kleinschreibung erreichen, indem Sie in Ihrem regulären Ausdruck ein bestimmtes Flag setzen.
Betrachten Sie das folgende Beispiel, in dem eine Benutzereingabezeichenfolge in einen regulären Ausdruck für den Abgleich mit Text ohne Berücksichtigung der Groß-/Kleinschreibung umgewandelt wird:
reg, err := regexp.Compile(strings.Replace(s.Name, " ", "[ \._-]", -1))
Um bei diesem regulären Ausdruck die Groß-/Kleinschreibung zu ignorieren, können Sie das Flag (?i) am Anfang hinzufügen string:
reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))
Das Flag (?i) weist den regulären Ausdruck an, Groß-/Kleinschreibungsunterschiede beim Abgleich zu ignorieren. Dies bedeutet, dass Muster wie [nN], die Zeichen in zwei unterschiedlichen Fällen zuordnen, nicht mehr erforderlich sind.
Zum Beispiel zeigt der folgende feste reguläre Ausdruck eine Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung:
r := regexp.MustCompile(`(?i)CaSe`)
In diesem Ausdruck stellt das Flag (?i) sicher, dass sowohl „CaSe“ als auch „case“ übereinstimmen.
Denken Sie daran, die Dokumentation für zu konsultieren regexp/syntax-Paket für weitere Informationen zu Flags und Syntaxoptionen, die für die Verwendung mit regulären Ausdrücken in Go verfügbar sind.
Das obige ist der detaillierte Inhalt vonWie führt man in Go einen Vergleich regulärer Ausdrücke ohne Berücksichtigung der Groß- und Kleinschreibung durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!