golang 의 정규 검사
2414 단어 골 랑 기초
먼저 몇 가지 자주 사용 하 는 방법 을 소개 한다.
1,MatchString 함수 사용
regexp.MatchString(pattern string, s string) pattern ,s
:
match,_:=regexp.MatchString("p([a-z]+)ch","peddach") bool , error
fmt.Println(match) // true
2、 Compile MustCompile
Compile *Regexp,error , MustCompile *Regexp
func Compile(expr string) (*Regexp, error) {}
func MustCompile(str string) *Regexp {}
, Regexp , 。
r,_:=regexp.Compile("p([a-z]+)ch")
b:=r.MatchString("peach")
fmt.Println(b) // true
r1:=regexp.MustCompile("p([a-z]+)ch")
b1:r1.MatchString("peach")
fmt.Println(b) // true
3、Regexp
r,_:=regexp.Compile("p([a-z]+)ch")
fmt.Println(r.MatchString("peach")) //j :true
//
fmt.Println(r.FindString("peach punch")) // :peach
// , [0 5]
fmt.Println(r.FindStringIndex("peach punch")) // : [0 5]
// , , p([a-z]+)ch `([a-z]+)
fmt.Println(r.FindStringSubmatch("peach punch")) // :[peach ea]
//
fmt.Println(r.FindStringSubmatchIndex("peach punch")) // : [0 5 1 3]
// , 。
fmt.Println(r.FindAllString("peach punch pinch",-1)) // :[peach punch pinch]
fmt.Println(r.FindAllString("peach punch pinch",2)) // :[peach punch]
//
fmt.Println(r.FindAllStringSubmatchIndex("peach punch pinch",-1))
// : [[0 5 1 3] [6 11 7 9] [12 17 13 15]]
// , , MatchString 。 []byte String 。
fmt.Println(r.Match([]byte("peach"))) // :true
r1:=regexp.MustCompile("p([a-z]+)ch")
// ,
fmt.Println(r1.ReplaceAllString("a peach","")) // : a
//Func ,
in:=[]byte("a peach")
out:=r1.ReplaceAllFunc(in,bytes.ToUpper)
fmt.Printf(string(out)) // : a PEACH