ホームページ >バックエンド開発 >Golang >Go 言語の正規表現スキル: 携帯電話番号の演算子を照合する方法

Go 言語の正規表現スキル: 携帯電話番号の演算子を照合する方法

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

Go 言語の正規表現スキル: 携帯電話番号の演算子を照合する方法

はじめに:
正規表現は、テキスト内で一致するものを見つけるために使用できる強力な文字列照合ツールです。あるAパターン文字列。 Go 言語では、標準ライブラリの regexp パッケージが正規表現のサポートを提供します。この記事では、正規表現を使用して携帯電話番号の演算子を照合する方法を紹介し、読者が正規表現をより適切に使用して携帯電話番号を処理できるようにします。

  1. 正規表現を初期化する
    まず、正規表現を初期化し、それをオブジェクトにコンパイルする必要があります。 Go 言語では、regexp.MustCompile 関数を使用してコンパイルし、*regexp.Regexp インスタンスを返すことができます。以下はサンプル コードです:
import "regexp"

func main() {
    // 手机号码运营商正则表达式
    regex := regexp.MustCompile(`^1(3[4-9]|4[7]|5[0-27-9]|7[678]|8[2-478])d{8}$`)
    
    // 进行手机号码运营商匹配
    phoneNumber := "13456789012"
    if regex.MatchString(phoneNumber) {
        println("匹配成功")
    } else {
        println("匹配失败")
    }
}

上記のコードでは、正規表現 ^1(3[4-9]|4[7]|5[0-27-9 ]|7[678]|8[2-478])d{8}$ は、中国本土の携帯電話番号と一致するために使用されます。この正規表現は、1 で始まり、3、4、5、7、または 8、そして 8 桁の携帯電話番号と一致します。照合が成功した場合は「Match Success」が出力され、そうでない場合は「Match Failed」が出力されます。

  1. 部分式を使用して一致結果を抽出する
    上記のコード例では、携帯電話番号の一致のみを判定し、事業者情報は抽出していません。以下では、部分式を使用して一致する結果を抽出します。
import (
    "fmt"
    "regexp"
)

func main() {
    // 手机号码运营商正则表达式
    regex := regexp.MustCompile(`^1((3[4-9])|(4[7])|(5[0-27-9])|(7[678])|(8[2-478]))d{8}$`)
    
    // 进行手机号码运营商匹配
    phoneNumber := "13456789012"
    if regex.MatchString(phoneNumber) {
        // 提取运营商信息
        result := regex.FindStringSubmatch(phoneNumber)
        if len(result) > 1 {
            fmt.Printf("运营商:%s
", getCarrier(result[1]))
        }
    } else {
        println("匹配失败")
    }
}

// 根据运营商编码获取运营商名称
func getCarrier(code string) string {
    switch code {
    case "34", "35", "36", "37", "38", "39":
        return "中国移动"
    case "47":
        return "中国移动(物联网号码)"
    case "50", "51", "52", "57", "58":
        return "中国联通"
    case "70", "71", "72":
        return "中国联通(物联网号码)"
    case "82", "83", "84", "85", "86", "87", "88", "89", "80":
        return "中国电信"
    case "74":
        return "中国电信(物联网号码)"
    }
    return "未知运营商"
}

上記のコードでは、部分式 (3[4-9])|(4[7])|(5[0-27-9]) |( 7[678])|(8[2-478]) を使用してキャリア コー​​ドを照合し、regex.FindStringSubmatch 関数を使用してパラメータとしてキャリア コー​​ドを抽出し、getCarrier を呼び出します。 関数。オペレーター名を取得して出力します。

  1. 結論
    この記事では、Go 言語の正規表現を使用して携帯電話番号のオペレーターを照合する方法を紹介します。正規表現を使用すると、携帯電話番号の正当性を迅速に検証し、オペレータ情報を抽出できます。実際のアプリケーションでは、正規表現を組み合わせて携帯電話番号のフィルタリングや分類などの操作を実行し、開発効率を向上させることができます。

以上がこの記事の内容です。読者の皆様のお役に立てれば幸いです。

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

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