php小編蘋果為您介紹一種強大的字串處理技巧 - golang正規表示式根據關鍵字分割字串。在開發中,我們經常需要根據某個關鍵字對字串進行分割,以便進一步處理資料。透過使用golang的正規表示式,我們可以方便地實現這個功能,提高開發效率。本文將為您詳細介紹golang正規表示式的使用方法,以及如何根據關鍵字分割字串,幫助您在日常開發中更靈活地處理字串。讓我們一起來探索吧!
這是我的字串,如findstudentbyid
現在,我將根據find
單字之前的find
單字之前和by
和by
、id
之後的關鍵字進行拆分。
所以golang正規表示式模式是 `(?i)(^find{1})(\w )(by{1})(\w )`
我正在嘗試拆分此關鍵字 findstudentbyid
但我遇到問題,無法找到我所找到的確切結果。
我的預期輸出是 [透過 id 找出學生]
或
find student by id
但我無法做到這一點。我確實嘗試過這個 golang 程式碼
package main import ( "fmt" "regexp" ) func main() { txt := "findstudentbyid" re := regexp.MustCompile(`(?i)(^find{1})(\w+)(by{1})(\w+)`) split := re.Split(txt, -1) set := []string{} for i := range split { set = append(set, split[i]) } fmt.Println(set) }
我不認為 Regexp.Split()
是適合您情況的解決方案,根據到文件:
我想你需要的是找到子匹配(如 find
、student
、by
和 id
):
所以你可以這樣使用 Regexp.FindStringSubmatch()
:
fmt.Println("result: ", re.FindStringSubmatch(txt)) result: [findstudentbyid find student by id]
我還認為您可以簡化正則表達式,但不要忘記將其放入括號中來處理子匹配,就像註釋中指出的那樣:
re := regexp.MustCompile(`(find)(.+)(by)(.+)`)
以上是golang正規表示式根據關鍵字分割字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!