Go 언어:정규 표현 식 사용
package test
import (
"fmt"
"regexp"
)
func RegixBase() {
//findTest()
//findIndexTest()
//findStringTest()
//findChinesString()
//findNumOrLowerLetter()
findAndReplace()
}
// []byte, []byte
func findTest() {
str := "ab001234hah120210a880218end"
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 := "ab001234hah120210a880218end"
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.
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.