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) }
www.example.com 是三级域名 blog.example.com 是三级域名 example.com 不是三级域名
위 내용은 golang에서 정규식을 사용하여 URL 주소가 3단계 도메인 이름인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!