Rumah > Artikel > pembangunan bahagian belakang > Kemahiran ungkapan biasa bahasa Go: Cara memadankan pengendali nombor telefon mudah alih
Kemahiran ungkapan biasa bahasa Go: Cara memadankan pengendali nombor telefon mudah alih
Pengenalan:
Ekspresi biasa ialah alat pemadanan rentetan yang berkuasa yang boleh digunakan untuk mencari rentetan yang sepadan dengan corak tertentu dalam teks. Dalam bahasa Go, pakej regexp
dalam pustaka standard menyediakan sokongan untuk ungkapan biasa. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk memadankan pengendali nombor telefon mudah alih, membantu pembaca menggunakan ungkapan biasa untuk memproses nombor telefon mudah alih dengan lebih baik. regexp
包提供了正则表达式的支持。本文将介绍如何使用正则表达式来匹配手机号码的运营商,帮助读者更好地利用正则表达式进行手机号码的处理。
regexp.MustCompile
函数来进行编译并返回一个*regexp.Regexp
实例。以下是一个示例代码:import "regexp" func main() { // 手机号码运营商正则表达式 regex := regexp.MustCompile(`^1(3[4-9]|4[7]|5[0-27-9]|7[678]|8[2-478])d{8}$`) // 进行手机号码运营商匹配 phoneNumber := "13456789012" if regex.MatchString(phoneNumber) { println("匹配成功") } else { println("匹配失败") } }
在上面的代码中,正则表达式^1(3[4-9]|4[7]|5[0-27-9]|7[678]|8[2-478])d{8}$
用于匹配中国大陆手机号码。该正则表达式可以匹配以1
开头,后面跟着3、4、5、7或8,然后是8个数字的手机号码。如果匹配成功,则输出"匹配成功",否则输出"匹配失败"。
import ( "fmt" "regexp" ) func main() { // 手机号码运营商正则表达式 regex := regexp.MustCompile(`^1((3[4-9])|(4[7])|(5[0-27-9])|(7[678])|(8[2-478]))d{8}$`) // 进行手机号码运营商匹配 phoneNumber := "13456789012" if regex.MatchString(phoneNumber) { // 提取运营商信息 result := regex.FindStringSubmatch(phoneNumber) if len(result) > 1 { fmt.Printf("运营商:%s ", getCarrier(result[1])) } } else { println("匹配失败") } } // 根据运营商编码获取运营商名称 func getCarrier(code string) string { switch code { case "34", "35", "36", "37", "38", "39": return "中国移动" case "47": return "中国移动(物联网号码)" case "50", "51", "52", "57", "58": return "中国联通" case "70", "71", "72": return "中国联通(物联网号码)" case "82", "83", "84", "85", "86", "87", "88", "89", "80": return "中国电信" case "74": return "中国电信(物联网号码)" } return "未知运营商" }
上面的代码中,我们通过使用子表达式(3[4-9])|(4[7])|(5[0-27-9])|(7[678])|(8[2-478])
来匹配运营商代码,并使用regex.FindStringSubmatch
函数提取运营商代码作为参数调用getCarrier
regexp.MustCompile
untuk menyusun dan mengembalikan contoh *regexp.Regexp
. Berikut ialah contoh kod: 1
, diikuti dengan 3, 4, 5, 7 atau 8, dan kemudian 8 digit. Jika perlawanan berjaya, "Kejayaan Perlawanan" akan dikeluarkan, jika tidak, "Perlawanan Gagal" ialah output. Gunakan subungkapan untuk mengekstrak hasil yang sepadan
Dalam kod sampel di atas, kami hanya menilai sama ada nombor telefon mudah alih sepadan, tetapi tidak mengeluarkan maklumat pengendali. Di bawah, kami akan menggunakan subungkapan untuk mengekstrak padanan. 🎜🎜rrreee🎜Dalam kod di atas, kami menggunakan subungkapanregex.FindStringSubmatch
untuk mengekstrak kod pembawa sebagai parameter untuk memanggil getCarrier
fungsi, Dapatkan nama pembawa dan cetaknya. 🎜🎜🎜Kesimpulan🎜Artikel ini memperkenalkan cara menggunakan ungkapan biasa dalam bahasa Go untuk memadankan pengendali nombor telefon mudah alih. Melalui ungkapan biasa, kami boleh dengan cepat mengesahkan kesahihan nombor telefon mudah alih dan mengekstrak maklumat pengendali. Dalam aplikasi praktikal, kami boleh menggabungkan ungkapan biasa untuk melaksanakan operasi seperti menapis dan mengklasifikasikan nombor telefon mudah alih untuk meningkatkan kecekapan pembangunan. 🎜🎜🎜Di atas adalah kandungan artikel ini, semoga bermanfaat kepada para pembaca. 🎜Atas ialah kandungan terperinci Kemahiran ungkapan biasa bahasa Go: Cara memadankan pengendali nombor telefon mudah alih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!