>  기사  >  백엔드 개발  >  golang에서 정규식을 사용하여 입력이 합법적인 광대역 계정인지 확인합니다.

golang에서 정규식을 사용하여 입력이 합법적인 광대역 계정인지 확인합니다.

王林
王林원래의
2023-06-25 14:06:28969검색

일상적인 소프트웨어 개발에서 우리는 사용자가 입력한 데이터를 확인해야 하는 상황에 자주 직면합니다. 그 중에서도 정규식을 사용하여 입력 데이터의 유효성을 검사하는 것은 데이터를 특정 패턴과 쉽게 일치시킬 수 있기 때문에 일반적인 방법입니다.

이 글에서는 golang에서 정규식을 사용하여 입력이 합법적인 광대역 계정인지 확인하는 방법을 소개합니다.

광대역 계정 규칙:

우리나라는 광대역 계정은 일반적으로 숫자나 문자로 구성되며 길이는 5~18자리입니다. 그 중 숫자와 문자는 재사용이 가능하다.

golang에서 정규식을 사용하여 광대역 계정의 적법성을 확인하는 것은 regexp 패키지에서 제공하는 기능을 사용하여 수행할 수 있습니다.

먼저 regexp 패키지를 소개해야 합니다.

import "regexp"

다음으로 isBroadbandAccount라는 함수를 정의하여 광대역 계정을 확인합니다. 이 함수의 매개변수는 검증할 문자열이고, 반환값은 검증할 문자열이 광대역 계정의 규칙을 준수하는지 여부를 나타내는 bool 유형입니다.

func isBroadbandAccount(str string) bool {
    // 定义正则表达式
    pattern := `^[a-zA-Z0-9]{5,18}$`
    
    // 编译正则表达式
    reg := regexp.MustCompile(pattern)
    
    // 进行匹配
    return reg.MatchString(str)
}

위 코드에서는 검증할 문자열의 시작과 끝을 보장하기 위해 ^ 및 $ 기호를 사용했습니다. 대괄호 안의 a-zA-Z0-9는 숫자이거나 대문자 및 소문자일 수 있으며 5~18회 반복될 수 있습니다.

정규식 컴파일에는 MustCompile 함수가 사용됩니다. 이 함수는 컴파일 중에 정규식의 정확성을 확인하고 정규식 형식이 잘못된 경우 패닉을 일으킬 수 있습니다.

마지막으로 MatchString 함수를 통해 정규식을 일치시키고 일치하는 결과를 반환합니다.

아래에서는 isBroadbandAccount 기능이 제대로 작동하는지 테스트하는 간단한 프로그램을 작성할 수 있습니다.

package main

import (
    "fmt"
    "regexp"
)

func isBroadbandAccount(str string) bool {
    // 定义正则表达式
    pattern := `^[a-zA-Z0-9]{5,18}$`
    
    // 编译正则表达式
    reg := regexp.MustCompile(pattern)
    
    // 进行匹配
    return reg.MatchString(str)
}

func main() {
    // 测试用例
    cases := []struct {
        input string
        want  bool
    }{
        {"abcd123", true},
        {"a1b2c3d4", true},
        {"1a2b3c4d", true},
        {"", false},
        {"abc1234567890123", false},
    }

    // 遍历测试用例
    for _, c := range cases {
        got := isBroadbandAccount(c.input)
        if got != c.want {
            fmt.Printf("isBroadbandAccount(%q) == %v, want %v
", c.input, got, c.want)
        }
    }
}

위 프로그램에서는 여러 테스트 케이스를 정의하고 루프 순회를 통해 테스트했습니다. 각 테스트 사례에는 입력 문자열과 예상 출력이 포함됩니다.

마지막으로 테스트 프로그램을 실행하면 출력은 다음과 같습니다.

isBroadbandAccount("abc1234567890123") == false, want true

출력에서 ​​볼 수 있듯이 isBroadbandAccount 함수는 광대역 계정의 적법성을 올바르게 확인할 수 있습니다.

요약:

이 글에서는 golang에서 정규 표현식을 사용하여 입력이 합법적인 광대역 계정인지 확인하는 방법을 소개합니다. regexp 패키지에서 제공하는 기능을 사용하고 간단한 프로그램으로 테스트해봤습니다. 이 기사의 소개를 통해 독자는 golang에서 정규식을 사용하여 입력 데이터의 적법성을 확인하는 방법을 배울 수 있으며 이는 향후 개발 작업에 도움이 될 것입니다.

위 내용은 golang에서 정규식을 사용하여 입력이 합법적인 광대역 계정인지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.