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
Linda HamiltonOriginal
2024-12-12 10:30:08711Durchsuche

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]`)

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))

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!

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