Heim > Backend-Entwicklung > Golang > Wie führe ich in Go reguläre Ausdrücke aus, bei denen die Groß-/Kleinschreibung nicht beachtet wird?

Wie führe ich in Go reguläre Ausdrücke aus, bei denen die Groß-/Kleinschreibung nicht beachtet wird?

Linda Hamilton
Freigeben: 2024-12-12 10:30:08
Original
648 Leute haben es durchsucht

How to Perform Case-Insensitive Regular Expressions in Go?

Ausführen von regulären Ausdrücken ohne Berücksichtigung der Groß-/Kleinschreibung in Go

Beim dynamischen Erstellen regulärer Ausdrücke aus Benutzereingaben ist es eine häufige Anforderung, sie ohne Berücksichtigung der Groß-/Kleinschreibung zu machen. Der Bedarf entsteht, wenn die Eingabezeichenfolge sowohl Groß- als auch Kleinbuchstaben enthalten kann, die Übereinstimmung diese jedoch als gleichwertig betrachten sollte.

Ein einfacher Ansatz besteht darin, beide Fälle im regulären Ausdruck manuell zu behandeln, wie in diesem Beispiel zu sehen:

reg, err := regexp.Compile(`[a-zA-Z]`)
Nach dem Login kopieren

Wenn der reguläre Ausdruck jedoch aus einer Zeichenfolge erstellt wird, ist eine elegantere Lösung verfügbar.

Um einen regulären Ausdruck zu erstellen, bei dem die Groß-/Kleinschreibung nicht berücksichtigt wird, fügen Sie hinzu (?i) an den Anfang des Ausdrucks:

reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))
Nach dem Login kopieren

Dieses Flag bewirkt, dass die Engine für reguläre Ausdrücke Groß-/Kleinschreibung ignoriert, sodass bei der Übereinstimmung die Groß-/Kleinschreibung nicht beachtet wird.

Weitere Informationen zu regulären Ausdrücken Ausdrucksflags finden Sie in der Dokumentation zum Regexp/Syntax-Paket unter dem Begriff „Flags“.

Das obige ist der detaillierte Inhalt vonWie führe ich in Go reguläre Ausdrücke aus, bei denen die Groß-/Kleinschreibung nicht beachtet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage