Mencari Semua Padanan Rentetan Menggunakan Regex dalam Go
Apabila bekerja dengan rentetan dalam Go, selalunya perlu mencari corak atau subrentetan tertentu. Ungkapan biasa menawarkan cara yang berkesan untuk memadankan dan memanipulasi teks. Satu tugas biasa ialah mencari semua padanan corak tertentu dan menyimpannya dalam kepingan atau tatasusunan.
Pernyataan Masalah:
Diberi rentetan yang mengandungi pendakap kerinting yang melampirkan subrentetan , matlamatnya adalah untuk mengekstrak semua subrentetan antara pendakap dan mengembalikannya sebagai tatasusunan. Contohnya, diberikan rentetan:
{city}, {state} {zip}
Kita perlu mengembalikan tatasusunan mengandungi:
Penyelesaian:
Untuk mencapai matlamat ini, kami boleh menggunakan pakej regexp Go. Walau bagaimanapun, terdapat beberapa perkara penting yang perlu diberi perhatian semasa mentakrifkan ungkapan biasa:
Berikut ialah kod Go yang dikemas kini:
package main import ( "fmt" "regexp" ) func main() { str := "{city}, {state} {zip}" // Define the regular expression pattern r := regexp.MustCompile(`{[^{}]*}`) // Find all matches matches := r.FindAllString(str, -1) // Print the matches for _, match := range matches { fmt.Println(match) } }
Pecahan Regex:
Output:
{city} {state}
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak semua subrentetan yang disertakan dalam pendakap kerinting menggunakan regex Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!