ホームページ  >  記事  >  バックエンド開発  >  golang で正規表現を使用して、入力が合法的なナンバー プレート番号であるかどうかを確認する

golang で正規表現を使用して、入力が合法的なナンバー プレート番号であるかどうかを確認する

WBOY
WBOYオリジナル
2023-06-24 15:26:341197ブラウズ

ナンバープレート番号は交通管理において非常に重要であるため、特定の形式要件を満たしている必要があります。 golang では、正規表現を使用して、入力が合法的なナンバー プレート番号であるかどうかを確認できます。以下に詳しくご紹介します。

正規表現は、さまざまな形式の文字列の一致に使用できる強力なテキスト一致ツールです。 golang では、正規表現の使用は非常に簡単で、regexp パッケージ内の関連関数を呼び出すだけです。ナンバー プレート番号を確認する場合は、次の形式と一致する必要があります。

  1. 中国語の文字で始まり、その後に 1 つの文字と 5 桁の数字が続きます。
  2. 文字で始まり、その後に続きます5 つの数字と 1 つの文字
  3. 「Shi」という単語で始まり、その後に 6 つの数字と 1 つの文字が続きます
  4. 「Ling」という単語で始まり、その後に 1 つの文字と 6 つの数字が続きます

上記の形式要件に従って、次の正規表現を構築できます:

^[\u4e00-\u9fa5][A-Z]\d{5}$|^[A-Z]\d{5}[A-Z]$|^\u4f7f\d{6}[A-Z]$|^\u9886[A-Z]\d{6}$

このうち、"^" は一致する文字列の開始位置を表し、"$" は終了位置を表します。一致する文字列の位置。角括弧内の文字は一致する文字セットで、「\u4e00-\u9fa5」は中国語の文字セットを表します。中括弧内の数字は、文字と一致する特定の回数を示します。たとえば、「\d{5}」は 5 桁の一致を示します。縦棒「|」は OR の関係を示します。つまり、いずれかの形式に準拠するだけで済みます。

次に、golang での検証に正規表現を使用できます。サンプル コードは次のとおりです:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    reg := regexp.MustCompile(`^[\u4e00-\u9fa5][A-Z]\d{5}$|^[A-Z]\d{5}[A-Z]$|^\u4f7f\d{6}[A-Z]$|^\u9886[A-Z]\d{6}$`)
    plateNum := "苏A12345"
    if !reg.MatchString(plateNum) {
        fmt.Printf("%s 不是合法的车牌号码
", plateNum)
    } else {
        fmt.Printf("%s 是合法的车牌号码
", plateNum)
    }
}

上記のコードでは、まず regexp.MustCompile 関数を使用して正規表現をコンパイルします使用可能な通常のオブジェクトに変換し、MatchString メソッドを呼び出して照合します。照合が成功した場合、それは有効なナンバー プレート番号です。

つまり、正規表現を使用してナンバー プレート番号の正当性を検証するのは非常に便利です。上記のサンプル コードを通じて、ナンバー プレート番号の正当性を簡単に検証し、交通管理の効率を向上させ、そして交通安全を確保します。

以上がgolang で正規表現を使用して、入力が合法的なナンバー プレート番号であるかどうかを確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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