这篇文章主要为大家展示了“Go语言中正则表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go语言中正则表达式怎么用”这篇文章吧。
创新互联主营九江网站建设的网络公司,主营网站建设方案,app软件定制开发,九江h5微信小程序开发搭建,九江网站营销推广欢迎九江等地区企业咨询Go语言的正则表达式使用很简单,示例代码:
package test import ( "fmt" "regexp" ) func RegixBase() { //findTest() //findIndexTest() //findStringTest() //findChinesString() //findNumOrLowerLetter() findAndReplace() } //传入[]byte,返回[]byte func findTest() { str := "ab001234hah220210a880218end" reg := regexp.MustCompile("\\d{6}") //六位连续的数字 fmt.Println("------Find------") //返回str中第一个匹配reg的字符串 data := reg.Find([]byte(str)) fmt.Println(string(data)) fmt.Println("------FindAll------") //返回str中所有匹配reg的字符串 //第二个参数表示最多返回的个数,传-1表示返回所有结果 dataSlice := reg.FindAll([]byte(str), -1) for _, v := range dataSlice { fmt.Println(string(v)) } } //传入[]byte,返回首末位置索引 func findIndexTest() { fmt.Println("------FindIndex------") //返回第一个匹配的字符串的首末位置 reg2 := regexp.MustCompile("start\\d*end") //start开始,end结束,中间全是数字 str2 := "00start123endhahastart120PSend09start10000end" //index[0]表示开始位置,index[1]表示结束位置 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 := "ab001234hah220210a880218end" reg := regexp.MustCompile("\\d{6}") //六位连续的数字 fmt.Println(reg.FindString(str)) fmt.Println(reg.FindAllString(str, -1)) //以下两个方法是类似的 fmt.Println(reg.FindStringIndex(str)) fmt.Println(reg.FindIndex([]byte(str))) } //查找汉字 func findChinesString() { str := "hello中国hello世界和平hi好" reg := regexp.MustCompile("[\\p{Han}]+") fmt.Println(reg.FindAllString(str, -1)) //[中国 世界和平 好] } //查找数字或小写字母 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. }
以上是“Go语言中正则表达式怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。