Go 언어 정규식 기술: 휴대폰 번호의 연산자를 일치시키는 방법
소개:
정규식은 텍스트에서 특정 패턴과 일치하는 문자열을 찾는 데 사용할 수 있는 강력한 문자열 일치 도구입니다. Go 언어에서 표준 라이브러리의 regexp
패키지는 정규식을 지원합니다. 이 기사에서는 정규식을 사용하여 휴대폰 번호의 연산자를 일치시키는 방법을 소개하여 독자가 정규식을 사용하여 휴대폰 번호를 더 잘 처리할 수 있도록 돕습니다. regexp
包提供了正则表达式的支持。本文将介绍如何使用正则表达式来匹配手机号码的运营商,帮助读者更好地利用正则表达式进行手机号码的处理。
regexp.MustCompile
函数来进行编译并返回一个*regexp.Regexp
实例。以下是一个示例代码:import "regexp" func main() { // 手机号码运营商正则表达式 regex := regexp.MustCompile(`^1(3[4-9]|4[7]|5[0-27-9]|7[678]|8[2-478])d{8}$`) // 进行手机号码运营商匹配 phoneNumber := "13456789012" if regex.MatchString(phoneNumber) { println("匹配成功") } else { println("匹配失败") } }
在上面的代码中,正则表达式^1(3[4-9]|4[7]|5[0-27-9]|7[678]|8[2-478])d{8}$
用于匹配中国大陆手机号码。该正则表达式可以匹配以1
开头,后面跟着3、4、5、7或8,然后是8个数字的手机号码。如果匹配成功,则输出"匹配成功",否则输出"匹配失败"。
import ( "fmt" "regexp" ) func main() { // 手机号码运营商正则表达式 regex := regexp.MustCompile(`^1((3[4-9])|(4[7])|(5[0-27-9])|(7[678])|(8[2-478]))d{8}$`) // 进行手机号码运营商匹配 phoneNumber := "13456789012" if regex.MatchString(phoneNumber) { // 提取运营商信息 result := regex.FindStringSubmatch(phoneNumber) if len(result) > 1 { fmt.Printf("运营商:%s ", getCarrier(result[1])) } } else { println("匹配失败") } } // 根据运营商编码获取运营商名称 func getCarrier(code string) string { switch code { case "34", "35", "36", "37", "38", "39": return "中国移动" case "47": return "中国移动(物联网号码)" case "50", "51", "52", "57", "58": return "中国联通" case "70", "71", "72": return "中国联通(物联网号码)" case "82", "83", "84", "85", "86", "87", "88", "89", "80": return "中国电信" case "74": return "中国电信(物联网号码)" } return "未知运营商" }
上面的代码中,我们通过使用子表达式(3[4-9])|(4[7])|(5[0-27-9])|(7[678])|(8[2-478])
来匹配运营商代码,并使用regex.FindStringSubmatch
函数提取运营商代码作为参数调用getCarrier
regexp.MustCompile
함수를 사용하여 *regexp.Regexp
인스턴스를 컴파일하고 반환할 수 있습니다. 다음은 샘플 코드입니다. ^1(3[4-9]|4[7]|5[0-27-9]|7[678] | 8[2-478])d{8}$
는 중국 본토 휴대폰 번호를 일치시키는 데 사용됩니다. 이 정규식은 1
로 시작하고 그 뒤에 3, 4, 5, 7, 8, 8자리 숫자가 오는 휴대폰 번호를 일치시킬 수 있습니다. 일치가 성공하면 "Match Success"가 출력되고, 그렇지 않으면 "Match Failed"가 출력됩니다. 하위 표현식을 사용하여 일치하는 결과 추출
위 샘플 코드에서는 휴대폰 번호 일치 여부만 판단했을 뿐, 통신사 정보는 추출하지 않았습니다. 아래에서는 하위 표현식을 사용하여 일치하는 결과를 추출하겠습니다. 🎜🎜rrreee🎜위 코드에서는 하위 표현식(3[4-9])|(4[7])|(5[0-27-9])|(7[678] )| (8[2-478])
를 사용하여 운송업체 코드를 일치시키고 regex.FindStringSubmatch
함수를 사용하여 운송업체 코드를 getCarrier
를 호출하는 매개변수로 추출합니다. > 기능, 운송업체 이름을 가져와서 인쇄하세요. 🎜🎜🎜결론🎜이 글에서는 Go 언어에서 정규식을 사용하여 휴대폰 번호의 연산자를 일치시키는 방법을 소개합니다. 정규식을 통해 휴대폰 번호의 유효성을 빠르게 검증하고, 통신사 정보를 추출할 수 있습니다. 실제 응용 프로그램에서는 정규식을 결합하여 휴대폰 번호 필터링 및 분류와 같은 작업을 수행하여 개발 효율성을 향상시킬 수 있습니다. 🎜🎜🎜위 내용은 이 글의 내용이며, 독자들에게 도움이 되기를 바랍니다. 🎜위 내용은 바둑언어 정규표현 스킬 : 휴대폰 번호의 통신사 매칭 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!