最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語(yǔ)言正則表達(dá)式用法實(shí)例小結(jié)【查找、匹配、替換等】

 更新時(shí)間:2017年01月18日 10:13:11   作者:books1958  
這篇文章主要介紹了Go語(yǔ)言正則表達(dá)式用法,結(jié)合實(shí)例形式分析了Go語(yǔ)言基于正則實(shí)現(xiàn)查找、匹配、替換等基本操作的實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Go語(yǔ)言正則表達(dá)式用法。分享給大家供大家參考,具體如下:

Go語(yǔ)言的正則表達(dá)式使用很簡(jiǎn)單,示例代碼:

復(fù)制代碼 代碼如下:
package test
import (
    "fmt"
    "regexp"
)
func RegixBase() {
    //findTest()
    //findIndexTest()
    //findStringTest()
    //findChinesString()
    //findNumOrLowerLetter()
    findAndReplace()
}
//傳入[]byte,返回[]byte
func findTest() {
    str := "ab001234hah120210a880218end"
    reg := regexp.MustCompile("\\d{6}") //六位連續(xù)的數(shù)字
    fmt.Println("------Find------")
    //返回str中第一個(gè)匹配reg的字符串
    data := reg.Find([]byte(str))
    fmt.Println(string(data))
    fmt.Println("------FindAll------")
    //返回str中所有匹配reg的字符串
    //第二個(gè)參數(shù)表示最多返回的個(gè)數(shù),傳-1表示返回所有結(jié)果
    dataSlice := reg.FindAll([]byte(str), -1)
    for _, v := range dataSlice {
        fmt.Println(string(v))
    }
}
//傳入[]byte,返回首末位置索引
func findIndexTest() {
    fmt.Println("------FindIndex------")
    //返回第一個(gè)匹配的字符串的首末位置
    reg2 := regexp.MustCompile("start\\d*end") //start開(kāi)始,end結(jié)束,中間全是數(shù)字
    str2 := "00start123endhahastart120PSend09start10000end"
    //index[0]表示開(kāi)始位置,index[1]表示結(jié)束位置
    index := reg2.FindIndex([]byte(str2))
    fmt.Println("start:", index[0], ",end:", index[1], str2[index[0]:index[1]])
    fmt.Println("------FindAllIndex------")
    //返回所有匹配的字符串首末位置
    indexSlice := reg2.FindAllIndex([]byte(str2), -1)
    for _, v := range indexSlice {
        fmt.Println("start:", v[0], ",end:", v[1], str2[v[0]:v[1]])
    }
}
//傳入string,返回string(更加方便)
func findStringTest() {
    fmt.Println("------FindString------")
    str := "ab001234hah120210a880218end"
    reg := regexp.MustCompile("\\d{6}") //六位連續(xù)的數(shù)字
    fmt.Println(reg.FindString(str))
    fmt.Println(reg.FindAllString(str, -1))
    //以下兩個(gè)方法是類似的
    fmt.Println(reg.FindStringIndex(str))
    fmt.Println(reg.FindIndex([]byte(str)))
}
//查找漢字
func findChinesString() {
    str := "hello中國(guó)hello世界和平hi好"
    reg := regexp.MustCompile("[\\p{Han}]+")
    fmt.Println(reg.FindAllString(str, -1))
    //[中國(guó) 世界和平 好]
}
//查找數(shù)字或小寫(xiě)字母
func findNumOrLowerLetter() {
    str := "HAHA00azBAPabc09FGabHY99"
    reg := regexp.MustCompile("[\\d|a-z]+")
    fmt.Println(reg.FindAllString(str, -1))
    //[00az abc09 ab 99]
}
//查找并替換
func findAndReplace() {
    str := "Welcome for Beijing-Tianjin CRH train."
    reg := regexp.MustCompile(" ")
    fmt.Println(reg.ReplaceAllString(str, "@")) //將空格替換為@字符
    //Welcome@for@Beijing-Tianjin@CRH@train.
}

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述對(duì)大家Go語(yǔ)言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Golang使用CGO與Plugin技術(shù)運(yùn)行加載C動(dòng)態(tài)庫(kù)

    Golang使用CGO與Plugin技術(shù)運(yùn)行加載C動(dòng)態(tài)庫(kù)

    這篇文章主要介紹了Golang使用CGO與Plugin技術(shù)運(yùn)行加載C動(dòng)態(tài)庫(kù),Golang?程序在運(yùn)行時(shí)加載C動(dòng)態(tài)庫(kù)的技術(shù),跳過(guò)了Golang項(xiàng)目編譯階段需要鏈接C動(dòng)態(tài)庫(kù)的過(guò)程,提高了Golang項(xiàng)目開(kāi)發(fā)部署的靈活性
    2022-07-07
  • Golang繪制數(shù)列趨勢(shì)圖的操作步驟

    Golang繪制數(shù)列趨勢(shì)圖的操作步驟

    數(shù)列趨勢(shì)圖是用來(lái)表示數(shù)列中各項(xiàng)之間的變化趨勢(shì)的圖形,它可以幫助我們觀察和分析數(shù)列的規(guī)律和特點(diǎn),一般來(lái)說(shuō),數(shù)列趨勢(shì)圖可以分為兩種類型:折線圖和散點(diǎn)圖,本文給大家介紹了Golang繪制數(shù)列趨勢(shì)圖的操作步驟,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-04-04
  • Golang import本地包和導(dǎo)入問(wèn)題相關(guān)詳解

    Golang import本地包和導(dǎo)入問(wèn)題相關(guān)詳解

    這篇文章主要介紹了Golang import本地包和導(dǎo)入問(wèn)題相關(guān)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • GO語(yǔ)言的map類型實(shí)例詳解

    GO語(yǔ)言的map類型實(shí)例詳解

    這篇文章主要介紹了GO語(yǔ)言的map類型實(shí)例詳解,包括對(duì)map的創(chuàng)建,賦值,排序,刪除,等操作需要的朋友可以參考下
    2022-12-12
  • go mod tidy拉取依賴包bug問(wèn)題及解決

    go mod tidy拉取依賴包bug問(wèn)題及解決

    這篇文章主要介紹了go mod tidy拉取依賴包bug問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Golang使用Gin處理下載文件請(qǐng)求返回

    Golang使用Gin處理下載文件請(qǐng)求返回

    在Go語(yǔ)言中,使用Gin框架實(shí)現(xiàn)文件下載功能相對(duì)簡(jiǎn)單,本文給大家展示一個(gè)簡(jiǎn)單的示例,演示如何使用Gin來(lái)處理文件下載請(qǐng)求,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • go使用consul實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)及配置共享實(shí)現(xiàn)詳解

    go使用consul實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)及配置共享實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了go使用consul實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)及配置共享實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Go語(yǔ)言入門(mén)教程之基礎(chǔ)語(yǔ)法快速入門(mén)

    Go語(yǔ)言入門(mén)教程之基礎(chǔ)語(yǔ)法快速入門(mén)

    這篇文章主要介紹了Go語(yǔ)言入門(mén)教程之基礎(chǔ)語(yǔ)法快速入門(mén),本文講解了值類型、變量、常量、循環(huán)、條件語(yǔ)句、條件枚舉等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • Go語(yǔ)言常見(jiàn)錯(cuò)誤之將接口定義在實(shí)現(xiàn)方

    Go語(yǔ)言常見(jiàn)錯(cuò)誤之將接口定義在實(shí)現(xiàn)方

    在Go中,接口起到一個(gè)十分關(guān)鍵的角色,它們提供了一種方式來(lái)定義對(duì)象的行為,而不需要知道對(duì)象的具體實(shí)現(xiàn),一個(gè)常見(jiàn)的錯(cuò)誤是在實(shí)現(xiàn)方而不是使用方定義接口,本文將詳細(xì)探討為何這樣做是一個(gè)錯(cuò)誤,以及如何避免它
    2024-01-01
  • golang 執(zhí)行命令行的實(shí)現(xiàn)

    golang 執(zhí)行命令行的實(shí)現(xiàn)

    本文主要介紹了golang 執(zhí)行命令行的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論

阿克陶县| 永和县| 藁城市| 康保县| 虎林市| 达尔| 仙桃市| 黔江区| 慈溪市| 澄江县| 资阳市| 乐亭县| 龙山县| 慈溪市| 通山县| 彭水| 库尔勒市| 上蔡县| 锡林郭勒盟| 赫章县| 清水河县| 安仁县| 多伦县| 宁国市| 阿克陶县| 图片| 祁东县| 南漳县| 探索| 固安县| 顺平县| 招远市| 祁门县| 姜堰市| 虹口区| 齐齐哈尔市| 梧州市| 平利县| 浦县| 修武县| 柳州市|