golang では、正規表現を使用して、ISO 3166-1 Alpha-2 国コードの有効性の検証など、入力値の形式を簡単に検証できます。
ISO 3166-1 Alpha-2 国コードは、ISO 3166 国際規格で定義された標準エンコードです。2 文字を使用して、各国/地域の一意のコードを表します。たとえば、中国のコードは「CN」です。 "、米国のコードは「US」です。入力が有効な ISO 3166-1 Alpha-2 国コードであることを確認するには、次のような特定のルールに従う必要があります:
golang では、正規表現を使用して ISO 3166-1 Alpha-2 国コードを検証できます。単純な正規表現は次のとおりです:
^[A-Z]{2}$
この正規表現の意味は次のとおりです:
次に、golang の regexp パッケージが提供する関数を使用して、入力値が正規表現に準拠しているかどうかを検証します。サンプルコードは次のとおりです。このコードでは、まず入力値 input を定義し、正規表現 ^[A-Z]{2}$ を正規表現にコンパイルします。次に、
regex.MatchString(input) 関数を使用して、入力値が正規表現と一致するかどうかを確認します。一致しない場合はエラーメッセージが出力され、一致する場合は成功メッセージが出力されます。 検証に正規表現を使用する場合は、次のような特殊な状況にも注意する必要があります。
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>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)
}
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
ここでの コードの重複を避ける: ISO 3166-1 Alpha-2 国コードでは、コードの重複は許可されません。コードの重複を避けるために、既存のコードを配列またはマップに保存できます。正規表現検証を使用するたびに、まず入力値が配列またはマップにあるかどうかを判断します。存在する場合は、それが存在することを意味します。有効な ISO 3166 -1 Alpha-2 国コードではありません。サンプル コードは次のとおりです。
regex := regexp.MustCompile("(?i)^[a-z]{2}$")
以上がgolang で正規表現を使用して、入力が有効な ISO 3166-1 Alpha-2 国コードであるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。