Go正則表達(dá)式匹配字符串,替換字符串方式
更新時(shí)間:2025年02月25日 09:18:56 作者:Laravel技術(shù)社區(qū)
介紹了Go語(yǔ)言中使用正則表達(dá)式進(jìn)行字符串匹配和替換的方法,包括匹配單個(gè)子字符串和所有子字符串,個(gè)人經(jīng)驗(yàn)分享,旨在為讀者提供實(shí)用的編程技巧,并鼓勵(lì)大家支持腳本之家
Go正則表達(dá)式匹配字符串,替換字符串
正則表達(dá)式
package main import ( "fmt" "regexp" ) func main() { match, err := regexp.MatchString("h[a-z]+.*d$", "hello world") if err != nil { panic(err) } fmt.Println(match) match, err = regexp.MatchString("h[a-z]+.*d$", "ello world") if err != nil { panic(err) } fmt.Println(match) } // $ go run main.go // 輸出如下 /** true false */
匹配所有子字符串
package main import ( "fmt" "regexp" ) func main() { c, err := regexp.Compile("h[a-z]") if err != nil { panic(err) } res := c.FindAllString("hello world", -1) fmt.Printf("res = %v\n", res) res2 := c.FindAllString("hello world hi ha h1", -1) fmt.Printf("res2 = %v\n", res2) } // $ go run main.go // 輸出如下 /** res = [he] res2 = [he hi ha] */
替換所有子字符串
package main import ( "fmt" "regexp" ) func main() { c, err := regexp.Compile("h[a-z]") if err != nil { panic(err) } res := c.ReplaceAll([]byte("hello world"), []byte("?")) fmt.Printf("res = %s\n", res) res2 := c.ReplaceAll([]byte("hello world hi ha h1"), []byte("?")) fmt.Printf("res2 = %s\n", res2) } // $ go run main.go // 輸出如下 /** res = ?llo world res2 = ?llo world ? ? h1 */
匹配中文
package main import ( "fmt" "regexp" ) func main() { match, err := regexp.MatchString("\\x{4e00}-\\x{9fa5}", "hello world") if err != nil { panic(err) } fmt.Println(match) match, err = regexp.MatchString("\\p{Han}+", "hello 世界") if err != nil { panic(err) } fmt.Println(match) } // $ go run main.go // 輸出如下 /** false true */
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Go 語(yǔ)言入門學(xué)習(xí)之正則表達(dá)式
- Golang棧結(jié)構(gòu)和后綴表達(dá)式實(shí)現(xiàn)計(jì)算器示例
- 一文帶你全面掌握Go語(yǔ)言中的正則表達(dá)式
- Go語(yǔ)句與表達(dá)式案例手冊(cè)深度解析
- 在?Go?語(yǔ)言中使用?regexp?包處理正則表達(dá)式的操作
- Go語(yǔ)言實(shí)戰(zhàn)之詳細(xì)掌握正則表達(dá)式的應(yīng)用與技巧
- Golang中正則表達(dá)式語(yǔ)法及相關(guān)示例
- Go語(yǔ)言利用正則表達(dá)式處理多行文本
- Go中regexp包常見的正則表達(dá)式操作
- Go語(yǔ)言結(jié)合正則表達(dá)式實(shí)現(xiàn)高效獲取數(shù)據(jù)
- Go expr 通用表達(dá)式引擎的使用
相關(guān)文章
Golang?使用os?庫(kù)的?ReadFile()?讀文件最佳實(shí)踐
這篇文章主要介紹了Golang使用os庫(kù)的ReadFile()讀文件最佳實(shí)踐,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09go語(yǔ)言使用jwt認(rèn)證的實(shí)現(xiàn)
本文主要介紹了go語(yǔ)言使用jwt認(rèn)證的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04CSP communicating sequential processes并發(fā)模型
這篇文章主要為大家介紹了CSP communicating sequential processes并發(fā)模型,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Go基本數(shù)據(jù)類型與string類型互轉(zhuǎn)
本文主要介紹了Go基本數(shù)據(jù)類型與string類型互轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03基于Go語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)易api網(wǎng)關(guān)的示例代碼
本文主要介紹了基于Go語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)易api網(wǎng)關(guān),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12