Heim >Backend-Entwicklung >Golang >Wie führt man in Go einen Vergleich regulärer Ausdrücke ohne Berücksichtigung der Groß- und Kleinschreibung durch?

Wie führt man in Go einen Vergleich regulärer Ausdrücke ohne Berücksichtigung der Groß- und Kleinschreibung durch?

DDD
DDDOriginal
2024-12-05 00:19:11696Durchsuche

How to Perform Case-Insensitive Regular Expression Matching in Go?

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!

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