首頁 >後端開發 >Golang >如何在 Go 中執行不區分大小寫的正規表示式?

如何在 Go 中執行不區分大小寫的正規表示式?

Linda Hamilton
Linda Hamilton原創
2024-12-12 10:30:08711瀏覽

How to Perform Case-Insensitive Regular Expressions in Go?

在Go 中執行不區分大小寫的正規表示式

根據使用者輸入動態構造正規表示式時,使它們不區分大小寫是一個常見的要求。當輸入字串可能同時包含大寫和小寫字元時,就會出現這種需要,但匹配應將它們視為等效。

一個簡單的方法是在正規表示式中手動處理這兩種情況,如本範例所示:

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

但是,如果正規表示式是從字串構造的,則可以使用更優雅的解決方案。

建立不區分大小寫的正規表示式,在表達式的開頭加上(?i):

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

此標誌使正規表示式引擎忽略大小寫區別,使匹配不區分大小寫。

以了解更多有關正規表示式標誌的信息,請參閱「標誌」術語下的 regexp/syntax 套件文檔。

以上是如何在 Go 中執行不區分大小寫的正規表示式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn