Golang 애플리케이션을 작성할 때 URL 주소를 확인해야 하는 경우가 많습니다. 이 과정에서 정규식은 URL 주소의 정확성을 효과적으로 확인하는 데 도움이 되는 매우 유용한 도구가 될 수 있습니다.
이 글에서는 정규식을 사용하여 URL 주소가 3차 도메인 이름인지 확인하는 방법을 소개합니다.
1. 정규식의 기본을 이해합니다
정규식은 텍스트 패턴을 설명하는 데 사용되는 언어입니다. Golang의 정규식에서 몇 가지 일반적인 기호 및 표현 방법은 다음과 같습니다.
2. 3차 도메인 이름의 URL 주소와 일치하는 정규식을 작성하세요.
3차 도메인 이름의 URL 주소와 일치하는 정규식을 작성해 보겠습니다. 세 번째 수준 도메인 이름은 URL의 호스트 이름(호스트 이름) 부분의 세 부분을 나타냅니다. 예: www.example.com, blog.example.com 등
^(www.)?([a-zA-Z0-9]+).([a-zA-Z0-9]+).([a-zA-Z0-9]+)$
분석 :
1, ^는 일치하는 문자열의 시작을 나타냅니다.
2, (www.)?는 선택적 www. 접두사를 나타냅니다. ([a-zA-Z0-9]+)는 세 번째 수준 도메인을 나타냅니다. 이름 첫 번째 부분은
5를 나타내며, ([a-zA-Z0-9]+)는 세 번째 수준 도메인 이름의 두 번째 부분인
7을 나타냅니다. , ([a -zA-Z0-9]+)는 세 번째 수준 도메인 이름
8의 세 번째 부분을 나타내고, $는 일치하는 문자열의 끝을 나타냅니다.
3. 정규식을 사용하여 Golang에서 URL 주소를 확인하세요
package main import ( "fmt" "regexp" ) func main() { url := "www.example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } url = "blog.example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } url = "example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } } func matchUrl(url string) bool { re := regexp.MustCompile(`^(www.)?([a-zA-Z0-9]+).([a-zA-Z0-9]+).([a-zA-Z0-9]+)$`) return re.MatchString(url) }위 프로그램에서는 먼저 URL 주소를 정의합니다. 그런 다음 URL 주소를 매개변수로 전달하여 "matchUrl" 함수를 호출합니다. " matchUrl" 함수에서는 "regexp.MustCompile" 함수를 사용하여 정규식을 컴파일합니다. 그런 다음 " re.MatchString " 함수를 사용하여 URL 주소가 정규식의 요구 사항을 충족하는지 확인합니다. 이 함수는 일치에 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 보시다시피 위 예제 프로그램에서는 세 개의 URL 주소 www.example.com, blog.example.com 및 example.com을 각각 확인했습니다. 처음 두 개만 세 번째 수준 도메인의 요구 사항을 충족합니다. 이름이므로 출력 결과는 다음과 같습니다.
www.example.com 是三级域名 blog.example.com 是三级域名 example.com 不是三级域名요약: Golang에서 정규식을 사용하여 URL 주소가 3단계 도메인 이름인지 확인하는 것은 어렵지 않습니다. 조건에 맞는 정규식을 작성한 후 "regexp" 패키지에 제공되는 함수를 통해 일치시키면 됩니다. 이 글의 소개가 여러분에게 도움이 되기를 바랍니다!
위 내용은 golang에서 정규식을 사용하여 URL 주소가 3단계 도메인 이름인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!