ホームページ >バックエンド開発 >Golang >golang で正規表現を使用して、入力が全角句読点であるかどうかを確認する

golang で正規表現を使用して、入力が全角句読点であるかどうかを確認する

PHPz
PHPzオリジナル
2023-06-24 08:27:181488ブラウズ

Golang は、強力な正規表現関数をサポートする効率的なプログラミング言語であり、入力データの検証を非常に簡単にします。この記事では、正規表現を使用して文字列が全角句読点であるかどうかを確認する方法について説明します。

全角句読点とは、中国語、日本語、韓国語、その他の文字セットの句読点を指します。 Golang では、正規表現を使用して、これらの文字セットの句読点と一致させることができます。以下は簡単なサンプル コードです。

package main

import (
    "fmt"
    "regexp"
)

func main() {
    input := "你好,世界!"
    re := regexp.MustCompile(`^[p{Han}p{Katakana}p{Hiragana}p{Hangul}!?,。、]+$`)
    result := re.MatchString(input)
    fmt.Println(result)
}

上記のコードでは、まず、中国語の文字、日本語の文字、および句読点を含む文字列 input を定義します。次に、正規表現で p 文字クラスを使用して、中国語の文字セットに含まれるすべての句読点と一致させます。 [p{Han}p{カタカナ}p{ひらがな}p{ハングル}を正規表現で! ? 、。 , ] は、中国語、日本語、および韓国語の文字セットの 1 つ以上の句読点、および中国語の文字セットのカンマ、ピリオド、およびポーズと一致することを意味します。

最後に、re.MatchString() 関数を使用して、入力文字列が正規表現のルールに準拠しているかどうかを判断します。一致する場合は true を返し、そうでない場合は false を返します。

実際のプロジェクトでは、上記のコードを関数にカプセル化できます。これは、複数の場所で呼び出すのに便利です。以下は、比較的完全な検証関数の例です。

func IsValidPunctuation(input string) bool {
    re := regexp.MustCompile(`^[p{Han}p{Katakana}p{Hiragana}p{Hangul}!?,。、]+$`)
    return re.MatchString(input)
}

上記のコードにより、入力文字列が全角句読点であるかどうかをすばやく検証し、入力エラーや不正な形式のデータを回避できます。

要約すると、Golang で正規表現を使用して入力が全角句読点であるかどうかを確認するのは非常に簡単です。正規表現で p 文字クラスを使用すると、さまざまな中国語、日本語、韓国語の文字セットの句読点と一致し、それらを関数にカプセル化してプロジェクトで簡単に呼び出すことができます。

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

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