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

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

DDD
DDD原創
2024-12-05 00:19:11707瀏覽

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

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

使用正規表示式時,您可能會遇到需要匹配模式(無論大小寫)的情況。在 Go 中,您可以透過在正規表示式中設定特定標誌來實現不區分大小寫的匹配。

考慮以下範例,其中使用者輸入字串被轉換為正規表示式以符合不區分大小寫的文字:

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

要使此正則表達式不區分大小寫,您可以將(?i) 標誌加入string:

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

(?i)標誌指示正規表示式在符合過程中忽略大小寫差異。這意味著不再需要像 [nN] 這樣匹配兩種不同大小寫的字元的模式。

例如,以下固定正規表示式示範了不區分大小寫的匹配:

r := regexp.MustCompile(`(?i)CaSe`)

在此表達式中,(?i) 標誌確保“CaSe”和“case”都匹配。

請記得查閱相關文件regexp/syntax 套件以取得有關可用於 Go 中正規表示式的標誌和語法選項的更多資訊。

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

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