golang에서 정규식을 사용하여 URL 주소가 9단계 도메인 이름인지 확인하는 방법

王林
풀어 주다: 2023-06-24 12:15:07
원래의
732명이 탐색했습니다.

프로그래밍에서는 URL 주소가 9단계 도메인 이름인지 확인해야 하는 경우가 많습니다. 이 경우 정규식을 사용하여 확인할 수 있습니다. 이 기사에서는 golang에서 정규식을 사용하여 URL 주소가 9단계 도메인 이름인지 확인하는 방법을 소개합니다.

golang에서 정규 표현식을 사용하려면 일반적으로 "regexp" 패키지를 도입해야 합니다. 이 패키지는 정규식을 나타내는 Regexp 구조를 제공합니다. 이 구조를 사용하는 MatchString 메서드는 일반 일치에 사용할 수 있습니다.

우선, URL 주소가 올바른 형식인지 확인해야 합니다. 일반적으로 URL 주소는 프로토콜, 도메인 이름, 경로 등 여러 부분으로 구성되어야 합니다. 여기서는 URL 주소의 "도메인 이름" 부분이 9단계 도메인 이름인지 여부만 확인합니다.

9단계 도메인 이름은 9개 부분으로 구성된 특수 도메인 이름을 의미하며 각 부분은 "."으로 구분됩니다. 예: www.example.com.cn 9단계 도메인 이름의 각 부분은 영문자, 숫자 또는 가로줄로 구성됩니다. 각 부분은 63자를 초과할 수 없습니다. 전체 도메인 이름의 길이는 255자를 초과할 수 없습니다.

다음은 9단계 도메인 이름과 일치하는 정규식의 예입니다.

^([a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9].)+[a-zA-Z]{2,}.$
로그인 후 복사

이 중 "^"은 일치하는 문자열의 시작을 나타내고 "$"는 일치하는 문자열의 끝을 나타냅니다. 괄호는 정규식 그룹을 나타내고, "[a-zA-Z0-9]"는 문자 또는 숫자 일치를 나타내고, "-"는 하이픈 문자 일치를 나타냅니다. "{0,61}"은 0~61자 일치를 의미합니다. "[a-zA-Z]{2,}"는 합법적인 최상위 도메인 이름인지 확인하기 위해 두 글자 이상이 일치함을 의미합니다. "."은 마침표 일치를 의미합니다.

다음은 정규식을 사용하여 URL 주소가 9차 도메인 이름인지 확인하는 샘플 코드입니다.

package main

import (
    "fmt"
    "regexp"
)

func main() {
    // 定义正则表达式
    pattern := "^([a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]\.)+[a-zA-Z]{2,}\.$"
    reg := regexp.MustCompile(pattern)

    // 测试数据
    url1 := "www.example.com.cn."
    url2 := "www.google.com."
    url3 := "www.123456789012345678901234567890123456789012345678901234567890123.com."
    url4 := "www.abcdefg-12345.com."

    // 验证URL是否为九级域名
    fmt.Printf("%s is a nine-level domain? %t
", url1, reg.MatchString(url1))
    fmt.Printf("%s is a nine-level domain? %t
", url2, reg.MatchString(url2))
    fmt.Printf("%s is a nine-level domain? %t
", url3, reg.MatchString(url3))
    fmt.Printf("%s is a nine-level domain? %t
", url4, reg.MatchString(url4))
}
로그인 후 복사

출력 결과는 다음과 같습니다.

www.example.com.cn. is a nine-level domain? true
www.google.com. is a nine-level domain? false
www.123456789012345678901234567890123456789012345678901234567890123.com. is a nine-level domain? false
www.abcdefg-12345.com. is a nine-level domain? true
로그인 후 복사

보시다시피 첫 번째와 마지막 URL 주소는 모두입니다. 두 번째 및 세 번째 URL 주소는 레벨 9가 아닌 도메인 이름으로 정확하게 확인되었습니다.

간단히 말하면 golang에서 정규 표현식을 사용하면 URL 주소가 9단계 도메인 이름인지 또는 기타 형식 요구 사항인지 쉽게 확인할 수 있습니다. 실제 응용 프로그램에서는 일치를 위해 필요에 따라 해당 정규식을 정의할 수 있습니다.

위 내용은 golang에서 정규식을 사용하여 URL 주소가 9단계 도메인 이름인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿