일상적인 소프트웨어 개발에서 우리는 사용자가 입력한 데이터를 확인해야 하는 상황에 자주 직면합니다. 그 중에서도 정규식을 사용하여 입력 데이터의 유효성을 검사하는 것은 데이터를 특정 패턴과 쉽게 일치시킬 수 있기 때문에 일반적인 방법입니다.
이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!