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中文網其他相關文章!