Dalam golang, ungkapan biasa boleh digunakan untuk mengesahkan format nilai input dengan mudah, termasuk mengesahkan kesahihan kod negara ISO 3166-1 Alpha-2.
Kod negara ISO 3166-1 Alpha-2 ialah pengekodan standard yang ditakrifkan dalam piawaian antarabangsa ISO 3166 Ia menggunakan dua huruf untuk mewakili kod unik setiap negara/rantau Contohnya, kod China ialah "CN". untuk Amerika Syarikat ialah "AS". Mengesahkan bahawa input ialah kod negara ISO 3166-1 Alpha-2 memerlukan mematuhi peraturan tertentu, termasuk:
^[A-Z]{2}$
Maksud ungkapan biasa ini adalah seperti berikut:
bermula dengan ^ dan berakhir dengan $, yang bermaksud bahawa keseluruhan nilai input mesti memenuhi syarat inipackage main import ( "fmt" "regexp" ) func main() { input := "CN" // 编译正则表达式 regex := regexp.MustCompile("^[A-Z]{2}$") // 验证输入值是否符合正则表达式 if !regex.MatchString(input) { fmt.Printf("%s不是一个有效的ISO 3166-1 Alpha-2国家/地区代码 ", input) } else { fmt.Printf("%s是一个有效的ISO 3166-1 Alpha-2国家/地区代码 ", input) } }
Dalam kod ini, kami mula-mula menentukan input nilai input. , dan Susun ungkapan biasa ^[A-Z]{2}$ kepada regex. Seterusnya, kami menggunakan fungsi regex.MatchString(input)
untuk mengesahkan sama ada nilai input sepadan dengan ungkapan biasa. Jika ia tidak sepadan, mesej ralat akan dikeluarkan jika ia sepadan, mesej kejayaan akan dikeluarkan.
Apabila menggunakan ungkapan biasa untuk pengesahan, anda juga perlu memberi perhatian kepada beberapa kes khas, seperti: regex.MatchString(input)
函数来验证输入值是否符合正则表达式。如果不符合,输出一条错误信息;如果符合,输出一条成功信息。
在使用正则表达式进行验证时,还需要注意一些特殊情况,例如:
(?i)
在正则表达式开头进行设置,示例代码如下:regex := regexp.MustCompile("(?i)^[a-z]{2}$")
这里的(?i)
(?i)
dalam ungkapan biasa Tetapkan pada permulaan, kod sampel adalah seperti berikut: package main import ( "fmt" "regexp" ) func main() { input := "CN" codes := []string{"CN", "US", "JP"} // 已有的ISO 3166-1 Alpha-2国家/地区代码 // 判断输入值是否已存在 for _, code := range codes { if input == code { fmt.Printf("%s是一个重复的ISO 3166-1 Alpha-2国家/地区代码 ", input) return } } // 编译正则表达式 regex := regexp.MustCompile("^[A-Z]{2}$") // 验证输入值是否符合正则表达式 if !regex.MatchString(input) { fmt.Printf("%s不是一个有效的ISO 3166-1 Alpha-2国家/地区代码 ", input) } else { fmt.Printf("%s是一个有效的ISO 3166-1 Alpha-2国家/地区代码 ", input) } }
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah kod negara ISO 3166-1 Alpha-2 yang sah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!