ホームページ >バックエンド開発 >Golang >Go 言語の正規表現練習ガイド: 中国語の文字と一致する方法

Go 言語の正規表現練習ガイド: 中国語の文字と一致する方法

WBOY
WBOYオリジナル
2023-07-12 19:01:472391ブラウズ

Go 言語正規表現実践ガイド: 中国語の文字を照合する方法

概要:
正規表現は強力なテキスト パターン マッチング ツールであり、次の部分文字列に一致する文字列を照合および抽出するために使用できます。あるパターン。 Go 言語では、標準ライブラリは正規表現操作をサポートする regexp パッケージを提供します。ただし、漢字の特殊な性質により、正規表現を使用して漢字を照合すると問題が発生する場合があります。この記事では、いくつかの一般的なシナリオを紹介し、対応するソリューションとコード例を提供します。

Unicode エンコードを使用して中国語の文字を照合する:
Go 言語の正規表現では、中国語の文字は Unicode エンコード範囲を使用して照合されます。漢字の Unicode エンコード範囲は「u4E00-u9FA5」です。以下は、文字列内の中国語の文字を照合する方法を示すサンプル コードです:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "你好,世界!Hello,Go语言!"
    re := regexp.MustCompile("[u4E00-u9FA5]+")
    result := re.FindAllString(str, -1)
    for _, v := range result {
        fmt.Println(v)
    }
}

実行結果:

你好
世界

Unicode エンコードを使用して中国語以外の文字を除外します:
文字列から中国語以外の文字を除外する必要がある場合があります。正規表現は、この機能を実現するために否定演算子「^」を提供します。以下は、文字列内の中国語以外の文字を除外する方法を示すサンプル コードです:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "你好,世界!Hello,Go语言!"
    re := regexp.MustCompile("[^u4E00-u9FA5]+")
    result := re.FindAllString(str, -1)
    for _, v := range result {
        fmt.Println(v)
    }
}

実行結果:

,
!
Hello,
!

POSIX 文字クラスを使用して中国語の文字と一致させます:
別の方法は次のとおりです。 POSIX 文字クラスを使用して中国語の文字と一致させます。 POSIX 文字クラスは 2 つの角かっこで構成され、角かっこには複数の文字を照合するための 1 つ以上の文字クラスが含まれます。 Go 言語では、POSIX 文字クラス「[[:range:]]」の「range」を「[:han:]」に設定して中国語の文字と一致させることができます。以下は、POSIX 文字クラスを使用して中国語の文字と一致させる方法を示すサンプル コードです。

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "你好,世界!Hello,Go语言!"
    re := regexp.MustCompile("[[:han:]]+")
    result := re.FindAllString(str, -1)
    for _, v := range result {
        fmt.Println(v)
    }
}

実行結果:

你好
世界

概要:
この記事では、正規表現を使用する方法を紹介します。 Go 言語 中国語の文字と一致します。 Unicode エンコード範囲を使用すると、文字列内の中国語の文字を簡単に照合および除外できます。さらに、POSIX 文字クラスを使用して中国語の文字と一致させることもできます。この記事が読者の Go 言語での正規表現の理解と使用を促進し、漢字の柔軟な処理を実現するのに役立つことを願っています。

以上がGo 言語の正規表現練習ガイド: 中国語の文字と一致する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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