İki küme parantez içine alınmış tüm verileri okumaya çalışın. Regex'im başarısız olduğundan şüpheleniyorum çünkü yeni satırlarla eşleşemiyor. Bağlantı go oyun alanında kaynak: http://play.golang.org/p/uNjd01CL8Zİki parantez arasındaki tüm verileri yakalayın
package main
import (
"fmt"
"regexp"
)
func main() {
x := `
lease {
interface "eth0";
fixed-address 10.11.0.1;
option subnet-mask 255.255.0.0;
}
lease {
interface "eth0";
fixed-address 10.11.0.2;
option subnet-mask 255.255.0.0;
}
lease {
interface "eth0";
fixed-address 10.11.0.2;
option subnet-mask 255.255.0.0;
}`
re := regexp.MustCompile(`{(.+)?}`)
fmt.Println(re.FindAllString(x, -1))
}
Olabilir muhtemelen istiyorum kullanım '\ {(*.?) \}':
İşte Git normal ifadeler için kullanılan düzenli ifade sözdizimi belgelerine bağlantı. –
@CPanda İpucu'nuz çalışmıyor. Regex'imle ilgili hata, yeni satırlarla eşleşmemesidir. Tonisuter çalışmaları tarafından verilen çözüm. – linuxfan
Ayrıca kullanabilirsiniz: re: regexp.MustCompile (\ '{[\ s \ S] *?} \') ' –