ホームページ  >  記事  >  バックエンド開発  >  golang で正規表現を使用して、入力が有効な ISO 4217 コードであるかどうかを確認する

golang で正規表現を使用して、入力が有効な ISO 4217 コードであるかどうかを確認する

WBOY
WBOYオリジナル
2023-06-24 08:37:02900ブラウズ

コンピューター技術の継続的な発展に伴い、ますます多くのプログラムが大規模化、モジュール化、複雑化する傾向にあり、強力なテキスト処理ツールとして、正規表現がプログラマーの間でますます好まれています。 golang では、正規表現を使用して入力が有効な ISO 4217 コードであるかどうかを確認することで、不正な入力を迅速かつ正確に特定し、システムのセキュリティと安定性を向上させることができます。

まず第一に、ISO 4217 コードとは何ですか? ISO 4217 は、国際標準化機構によって開発された国際通貨コード標準です。さまざまな通貨を識別するために使用されます。各通貨には、固有の 3 文字のコード表現があります。たとえば、米ドルのコードは USD、ユーロのコードは EUR、人民元のコードは CNY です。プログラムを作成するとき、入力データが正しい形式であることを確認するために入力を検証する必要がある場合があります。ISO 4217 コードの検証はこれらの要件の 1 つです。

golang では、正規表現を使用して ISO 4217 コードを検証できます。 ISO 4217 コードは 3 つの大文字で構成されており、正規表現 ^[A-Z]{3}$ を使用して照合できます。このうち、^ は入力文字列の開始位置との一致、[A-Z] は任意の大文字との一致、{3} は連続 3 回の一致、$ は入力文字列の終了位置との一致を意味します。したがって、golang の regexp パッケージを使用して、ISO 4217 コードの正規表現検証機能を実装できます。

次の例は、正規表現を使用して ISO 4217 コードを検証する方法を示しています:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    var code string = "CNY"
    matched, _ := regexp.MatchString("^[A-Z]{3}$", code)
    if matched {
        fmt.Println(code, "is a valid ISO 4217 code")
    } else {
        fmt.Println(code, "is not a valid ISO 4217 code")
    }
}

上記のコードでは、ISO 4217 コードを表すコード文字列変数が最初に定義されています。 。次に、regexp.MatchString メソッドを使用して正規表現 "^[A-Z]{3}$" とコード変数を渡し、一致操作を実行します。一致が成功した場合は、入力文字列が有効な ISO 4217 コードであることを示す true を返します。そうでない場合は、入力文字列が有効な ISO 4217 コードではないことを示す false を返します。最後に、照合結果に従って、対応するプロンプト情報が出力されます。

正規表現を使用する場合は、例外処理に注意する必要があることに注意してください。例外が発生した場合は、例外を直接スローすることを避け、代わりに例外を適切に処理する必要があります。 golang では、recover キーワードを使用して例外をキャッチし、例外によるプログラムのクラッシュを回避できます。例外を適切に処理する方法を示す変更された例を次に示します。

package main

import (
    "fmt"
    "regexp"
)

func main() {
    var code string = "CNY"
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("an error occurred:", r)
        }
    }()
    matched, err := regexp.MatchString("^[A-Z]{3}$", code)
    if err != nil {
        panic(err)
    }
    if matched {
        fmt.Println(code, "is a valid ISO 4217 code")
    } else {
        fmt.Println(code, "is not a valid ISO 4217 code")
    }
}

上記のコードでは、例外が発生した場合でもキャッチして出力できるように、マッチング操作を defer ステートメント ブロックに配置しています。コンソールにエラー情報が表示されます。また、regexp パッケージの MatchString メソッドを呼び出すとエラーが返される場合がありますが、その際にはエラーが発生したかどうかを判断して対処する必要があります。エラーが発生した場合は、外部で処理できるように、panic キーワードを使用して例外をスローする必要があります。

つまり、正規表現を使用して ISO 4217 コードを検証すると、不正な入力を迅速かつ正確に特定し、セキュリティ上の問題の発生を防ぐことができます。 golang では、regexp パッケージの MatchString メソッドを使用して ISO 4217 コードの検証を実装できます。使用中は、例外によるプログラムのクラッシュを避けるために、例外処理に注意を払う必要があります。

以上がgolang で正規表現を使用して、入力が有効な ISO 4217 コードであるかどうかを確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。