Golang では、正規表現は、URL アドレスが第 11 レベルのドメイン名であるかどうかを確認するために使用できる強力なツールです。この記事では、正規表現を使用してこれを実現する方法を検討します。
インターネットでは、ドメイン名はネットワーク リソースを識別するために使用される文字列です。ドメイン名は階層構造に従って、上から「ルートドメイン名」、「トップレベルドメイン名」、「第2レベルドメイン名」、「第3レベルドメイン名」、「第4レベルドメイン名」と分かれています。 「名前」...「11 レベルのドメイン名」まで。
典型的な第 11 レベルのドメイン名は次のとおりです:
www.example.com.cn.foo.bar.baz.qux.fred.plugh.xyz
正規表現を使用して、URL アドレスが第 11 レベルのドメイン名であるかどうかを検証できます。合法的な第 11 レベルのドメイン名では、次の条件を満たしている必要があります。
上記のルールに基づいて、次の正規表現を書くことができます:
^[a-zA-Z0-9]([a-zA-Z0-9-] { 0,61}[a-zA-Z0-9])?.([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0- 9 ])?.){9}[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$
上記の正規表現では、^ は文字列の先頭と一致することを意味し、$ は文字列の末尾と一致することを意味します。正規表現内の他の文字は、対応する文字の一致を示します。例:
Golang では、regexp パッケージを使用して正規表現を処理できます。必要に応じて、次のコードを使用できます。
package main import ( "fmt" "regexp" ) func main() { url := "www.example.com.cn.foo.bar.baz.qux.fred.plugh.xyz" regex := "^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){9}[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$" matched, _ := regexp.MatchString(regex, url) if matched { fmt.Println("URL地址为11级域名") } else { fmt.Println("URL地址不是11级域名") } }
上記のコードでは、まず URL アドレスを定義し、次に MatchString 関数を使用して正規表現の一致を実行します。照合が成功した場合、URL アドレスが第 11 レベルのドメイン名であることを意味します。
この記事の学習を通じて、正規表現を使用して URL アドレスが第 11 レベルのドメイン名であるかどうかを確認する方法を学び、これを実装しました。 Golang の関数。 URL アドレスを検証する必要がある場合は、同様のルールに従って正規表現を記述し、処理に Golang の regexp パッケージを使用できます。
以上がgolang で正規表現を使用して URL アドレスが第 11 レベルのドメイン名であるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。