» Go语言快速入门 » 2. 进阶篇 » 2.3 正则表达式

正则表达式

regexp 包提供了对正则表达式的支持。

正则表达式的语法与 Perl、Python 和其他语言使用的一般语法相同。更准确地说,它是由 RE2 接受的语法,可以在 https://github.com/google/re2/wiki/Syntax 了解详情。

package main

import (
	"fmt"
	"regexp"
)

func main() {
	// 创建一个简单的正则表达式以匹配电子邮件地址
	emailRegex := regexp.MustCompile(`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`)

	emails := []string{
		"lite.rank@example.com",
		"invalid-email",
		"another.email@domain",
	}

	for _, email := range emails {
		if emailRegex.MatchString(email) {
			fmt.Printf("%s is a valid email address\n", email)
		} else {
			fmt.Printf("%s is NOT a valid email address\n", email)
		}
	}
}

代码挑战

写一个 Go 程序,根据以下标准验证电话号码:

  1. 电话号码必须由 10 位数字组成。
  2. 可选的 '+' 符号开头,后跟国家代码(1 到 4 位数字),然后是 10 位电话号码。
Loading...
> 此处输出代码运行结果
上页
下页