Ekspresi biasa (regex) dalam Golang berkuasa dan mengikut sintaks Perl, membolehkan mencari, memadankan dan memanipulasi corak teks. Sintaksnya termasuk set aksara, aksara khas, pengelompokan, pengkuantiti dan sauh untuk kes penggunaan seperti mengesahkan e-mel, mengekstrak URL, menggantikan rentetan dan memadankan teg HTML. Amalan terbaik termasuk menggunakan corak eksplisit, menjalankan ujian, memberi perhatian kepada prestasi dan mengelakkan corak tamak.
Buka kunci kuasa ungkapan biasa Golang
Pengenalan
Ekspresi biasa (regex) ialah alat yang berkuasa untuk mencari, memadankan dan memanipulasi corak dalam teks. Di Golang, pakej regexp menyediakan sokongan ekspresi biasa yang komprehensif, membolehkan pembangun menghuraikan dan memproses data teks kompleks dengan mudah dalam aplikasi mereka.
Sintaks
Sintaks ungkapan biasa Golang mengikut sintaks ungkapan biasa Perl tradisional. Berikut ialah beberapa elemen sintaks asas:
[a-z]
akan sepadan dengan huruf kecil. [ ]
) 匹配指定的字符范围。例如,[a-z]
将匹配小写字母。.
匹配任何字符,*
匹配零个或多个前面元素,+
匹配一个或多个前面元素。( )
) 允许对模式中的子模式进行分组,以便将来可以引用它们。?
, {n}
, {m,n}
) 指定模式重复的次数。^
, $
Contohnya, .
sepadan dengan mana-mana aksara, *
sepadan dengan sifar atau lebih elemen sebelumnya dan +
sepadan dengan satu atau lebih unsur sebelumnya.
(
({n}
, {m,n}
) menyatakan bilangan kali corak diulang.
($
) masing-masing mewakili permulaan dan penghujung rentetan.
Kes praktikal
Sahkan alamat e-mel
import "regexp" func isValidEmail(email string) bool { re := regexp.MustCompile(`^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$`) return re.MatchString(email) }
Ekstrak URL
import "regexp" func extractURL(text string) []string { re := regexp.MustCompile(`(?m)(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,})`) return re.FindAllString(text, -1) }
Lebih banyak kegunaan
Ekspresi biasa Formula mempunyai banyak kegunaan lain dalam Golang, seperti:Atas ialah kandungan terperinci Buka kunci kuasa ungkapan biasa Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!