Go 言語の正規表現スキル: 中国語の名前を照合する方法

WBOY
リリース: 2023-07-12 20:55:37
オリジナル
1884 人が閲覧しました

Go 言語の正規表現スキル: 中国語の名前と一致する方法

はじめに:
開発では、ユーザーが入力したデータを処理して検証することが必要になることがよくあります。その中で、名前の一般的なシナリオを扱う場合、中国語の名前と一致する必要がある場合は、正規表現を使用する必要があります。 Go 言語では、正規表現を使用して中国語の名前を照合できます。この記事では、正規表現を使用して Go 言語で中国語の名前を照合する方法と、対応するコード例を紹介します。

  1. 中国語の名前の特徴
    中国語の名前には、他のテキストとは異なるいくつかの特徴があります。中国語の名前については、次の点を考慮する必要があります。漢字は 2 文字ですが、漢字が 1 文字または 3 文字以上の場合もあります。
  2. Unicode エンコードにおける中国語の文字の範囲は [u4e00-u9fa5] です。
  3. 名前には、スペース、ピリオド、ハイフンなどの特殊記号が含まれる場合があります。
  4. 正規表現を使用して中国語の名前と一致させる
  5. Go 言語では、正規表現を使用して中国語の名前と一致させることができます。中国語の名前と一致する簡単な正規表現の例を次に示します:
  6. #^[p{Han}・]{2,32}$

    説明:

#^

は、一致する文字列の先頭を表します。
  • [p{Han}·] は、Unicode の中国語文字または中国語のハイフン (·) と一致することを意味します。
  • {2,32} は、2 ~ 32 個の漢字またはハイフンと一致することを意味します。
  • #$ は、一致する文字列の終わりを示します。
  • 正規表現を使用して中国語の名前と一致する Go 言語のサンプル コード
  • package main
    
    import (
        "fmt"
        "regexp"
    )
    
    func main() {
        name := "张三"
        if isValidChineseName(name) {
            fmt.Println("姓名合法")
        } else {
            fmt.Println("姓名不合法")
        }
    }
    
    // 验证中文姓名的合法性
    func isValidChineseName(name string) bool {
        reg := regexp.MustCompile("^[p{Han}·]{2,32}$")
        return reg.MatchString(name)
    }
    ログイン後にコピー
コードの説明:
  1. まず、
isValid ChineseName

関数。中国語名の正当性を検証するために使用されます。

    関数
  • main では、中国語名の例 name
  • が定義され、検証のために
  • isValid ChineseName 関数が呼び出されます。 regexp パッケージの MatchString
  • 関数を使用して、一致を検証する正規表現と文字列を渡します。
  • 一致に成功した場合は、中国語名が正当であることを示す true が返され、そうでない場合は false
  • が返されます。
  • さらなる拡張上記の正規表現は、ほとんどの中国語名のシナリオに適していますが、考慮されていない特殊なケースがまだいくつかあります。要件がより厳しい場合は、特別な場合に拡張することができます。たとえば、中国語の名前には次のような特殊な状況がある場合があります。
姓と名の間に 1 つ以上のスペースが含まれる場合があります。
  1. ピンイン、文字、数字などの中国語以外の文字が名前に含まれる場合があります。
  2. 実際のニーズに応じて適切な修正や拡張を行い、さまざまなマッチング要件を満たすことができます。
  3. 概要:
  4. 正規表現を使用すると、便利かつ効果的に中国語の名前と一致し、名前の合法性を検証できます。 Go 言語では、正規表現パッケージ
regexp

を使用して中国語の名前と一致させることができます。正規表現を導入することで、中国語名の照合の精度とスケーラビリティが向上し、さまざまなニーズにさらに応えることができます。

以上がGo 言語の正規表現スキル: 中国語の名前を照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート