golang 의 정규 검사

2414 단어 골 랑 기초
Go 언어 에서 정규 검 사 를 사용 하려 면  regexp  싸다.
먼저 몇 가지 자주 사용 하 는 방법 을 소개 한다.
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

       
   

좋은 웹페이지 즐겨찾기