In Golang können reguläre Ausdrücke verwendet werden, um das Format von Eingabewerten einfach zu überprüfen, einschließlich der Überprüfung der Gültigkeit von ISO 3166-1 Alpha-2-Ländercodes.
Der Ländercode ISO 3166-1 Alpha-2 ist eine im internationalen Standard ISO 3166 definierte Standardkodierung. Er verwendet zwei Buchstaben, um den eindeutigen Code jedes Landes/jeder Region darzustellen. Der Code für China ist beispielsweise „CN“. für die Vereinigten Staaten ist „US“. Um zu überprüfen, ob es sich bei der Eingabe um einen gültigen ISO 3166-1 Alpha-2-Ländercode handelt, müssen folgende Regeln beachtet werden:
^[A-Z]{2}$
beginnt mit ^ und endet mit $, was bedeutet, dass der gesamte Eingabewert diese Bedingung erfüllen muss;
[A-Z]{ 2} bedeutet, dass es aus zwei Zeichen bestehen muss. Es besteht aus Großbuchstaben (A-Z). Die 2 in geschweiften Klammern gibt an, dass die Länge 2 Zeichen betragen muss.
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) } }
regex.MatchString(input)
, um zu überprüfen, ob der Eingabewert mit dem regulären Ausdruck übereinstimmt. Bei Nichtübereinstimmung wird eine Fehlermeldung ausgegeben, bei Übereinstimmung wird eine Erfolgsmeldung ausgegeben. Groß-/Kleinschreibung ignorieren: Wenn Sie die Groß-/Kleinschreibung ignorieren müssen, können Sie (?i)
verwenden im regulären Ausdruck Setzen Sie es am Anfang. Der Beispielcode lautet wie folgt: regex.MatchString(input)
函数来验证输入值是否符合正则表达式。如果不符合,输出一条错误信息;如果符合,输出一条成功信息。
在使用正则表达式进行验证时,还需要注意一些特殊情况,例如:
(?i)
在正则表达式开头进行设置,示例代码如下:regex := regexp.MustCompile("(?i)^[a-z]{2}$")
这里的(?i)
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) } }
(?i)
bedeutet hier, die Groß- und Kleinschreibung zu ignorieren. Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke in Golang, um zu überprüfen, ob die Eingabe ein gültiger ISO 3166-1 Alpha-2-Ländercode ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!