Home >Backend Development >Golang >How to use regular expressions in golang to verify whether the input is a valid ISO 3166-1 Alpha-2 country code
In golang, regular expressions can be used to easily verify the format of input values, including verifying the validity of ISO 3166-1 Alpha-2 country codes.
ISO 3166-1 Alpha-2 country code is a standard encoding defined in the ISO 3166 international standard. It uses two letters to represent the unique code of each country/region. For example, China’s code is "CN", the code for the United States is "US". Certain rules need to be followed to verify that the input is a valid ISO 3166-1 Alpha-2 country code, including:
In golang, ISO 3166-1 Alpha-2 country codes can be verified with the help of regular expressions. A simple regular expression is as follows:
^[A-Z]{2}$
The meaning of this regular expression is as follows:
Next, we can verify whether the input value conforms to the regular expression by using the function provided by the regexp package in golang. The sample code is as follows:
package 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) } }
In this code, We first define an input value input and compile the regular expression ^[A-Z]{2}$ into regex. Next, we use the regex.MatchString(input)
function to verify whether the input value matches the regular expression. If it does not match, an error message is output; if it matches, a success message is output.
When using regular expressions for verification, you also need to pay attention to some special situations, such as:
(? i)
is set at the beginning of the regular expression. The sample code is as follows: regex := regexp.MustCompile("(?i)^[a-z]{2}$")
The (?i)
here means ignoring case.
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) } }
In this sample code, we first define an existing array of ISO 3166-1 Alpha-2 country codes codes, and use a loop to traverse the array every element in . If the input value already exists in the array, it means that it is not a valid ISO 3166-1 Alpha-2 country code; if the input value does not exist in the array, continue to use regular expressions for validation.
The above is the detailed content of How to use regular expressions in golang to verify whether the input is a valid ISO 3166-1 Alpha-2 country code. For more information, please follow other related articles on the PHP Chinese website!