Tutorial lanjutan tentang ungkapan biasa dalam bahasa Go: Cara menggunakan tangkapan kumpulan
Ekspresi biasa memainkan peranan yang sangat penting dalam pemprosesan teks, dan dalam bahasa Go, pakej regexp disediakan dalam pustaka standard untuk memproses ungkapan biasa Pemadanan dan penggantian. Dalam tutorial sebelumnya, kami telah mempelajari sintaks ungkapan biasa asas dan cara melaksanakan operasi pemadanan dan penggantian mudah. Tutorial ini akan memperkenalkan lagi cara menggunakan tangkapan kumpulan untuk memudahkan pemprosesan hasil padanan yang lebih fleksibel.
package main import ( "fmt" "regexp" ) func main() { pattern := `(d{3})-(d{4})` text := "我的电话号码是123-4567,你的电话号码是987-6543。" re := regexp.MustCompile(pattern) result := re.FindAllStringSubmatch(text, -1) for _, match := range result { fmt.Println("完整匹配结果:", match[0]) fmt.Println("前三个数字:", match[1]) fmt.Println("后四个数字:", match[2]) } }
Hasil keluarannya ialah:
完整匹配结果: 123-4567 前三个数字: 123 后四个数字: 4567 完整匹配结果: 987-6543 前三个数字: 987 后四个数字: 6543
Dengan menggunakan kurungan kepada kumpulan, kita boleh mendapatkan hasil yang sepadan dengan mudah Kandungan setiap kumpulan dalam.
(?P<name>pattern)
,我们可以为某个分组指定一个名称name
. Sebagai contoh, kita boleh memberikan nama kepada kumpulan tiga nombor pertama dan empat nombor terakhir seperti berikut: package main import ( "fmt" "regexp" ) func main() { pattern := `(?P<area>d{3})-(?P<number>d{4})` text := "我的电话号码是123-4567,你的电话号码是987-6543。" re := regexp.MustCompile(pattern) result := re.FindAllStringSubmatch(text, -1) for _, match := range result { fmt.Println("完整匹配结果:", match[0]) fmt.Println("前三个数字:", match[1]) fmt.Println("后四个数字:", match[2]) fmt.Println("区号:", match[re.SubexpIndex("area")]) fmt.Println("号码:", match[re.SubexpIndex("number")]) } }
Outputnya ialah:
完整匹配结果: 123-4567 前三个数字: 123 后四个数字: 4567 区号: 123 号码: 4567 完整匹配结果: 987-6543 前三个数字: 987 后四个数字: 6543 区号: 987 号码: 6543
Dengan menggunakan kumpulan yang dinamakan, anda boleh merujuk kumpulan bukan sahaja dengan nombor, tetapi juga dengan nombor Kumpulan rujukan mengikut nama, menjadikan kod lebih mudah dibaca dan diselenggara.
Ringkasan
Artikel ini memperkenalkan cara menggunakan ungkapan biasa untuk tangkapan kumpulan dalam bahasa Go. Dengan menggunakan tanda kurung untuk pengelompokan, kita boleh mendapatkan kandungan setiap kumpulan dengan mudah dalam hasil padanan. Pada masa yang sama, kami juga mempelajari cara menggunakan kumpulan yang dinamakan untuk merujuk kumpulan untuk menjadikan kod lebih mudah dibaca dan diselenggara. Saya harap tutorial ini akan membantu anda memahami tangkapan kumpulan ungkapan biasa.
Atas ialah kandungan terperinci Tutorial Lanjutan tentang Ungkapan Biasa dalam Bahasa Go: Cara Menggunakan Tangkapan Berkumpulan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!