go正则表达式匹配电话号码
时间: 2024-10-22 09:28:09 浏览: 26
浅析golang 正则表达式
Go语言中的正则表达式(Regexp)可以用来匹配电话号码,但是需要根据常见的电话号码格式编写模式。以下是一个简单的例子,用于匹配中国大陆手机号码(11位数字,可能有区号前缀+86):
```go
package main
import (
"fmt"
"regexp"
)
func matchPhoneNumber(phone string) bool {
// 匹配中国大陆手机号码的正则表达式示例
pattern := `^(\+\d{1,3})?1[3-9]\d{9}$`
regex, err := regexp.Compile(pattern)
if err != nil {
fmt.Println("错误:", err)
return false
}
match, _ := regex.MatchString(phone) // 忽略可能的编译错误,直接尝试匹配
return match
}
func main() {
phoneNumbers := []string{"+8613812345678", "13900132456", "15912345678"}
for _, phoneNumber := range phoneNumbers {
if matchPhoneNumber(phoneNumber) {
fmt.Printf("%s 是有效的手机号码\n", phoneNumber)
} else {
fmt.Printf("%s 不是有效的手机号码\n", phoneNumber)
}
}
阅读全文