欢迎光临
我们一直在努力

go语言学习例子No.3–练习正则

regexp包里找到了func (*Regexp) MatchString函数返回的是bool类型

package main
import (
	"fmt"
	"regexp"
)
func main() {
	st := "php"
	bds := `php`
	re := regexp.MustCompile(bds)
	b := re.MatchString(st)
	if b {
		fmt.Println("匹配")
	} else {
		fmt.Println("不匹配")
	}
}
# 匹配

现在我们开始

bds := `ph+p`//+表示1到多个h
st := "pp"//不匹配
st := "php"//匹配
st := "phhhp"//匹配

bds := `ph*p`//*表示0到多个h
st := "pp"//匹配
st := "php"//匹配
st := "phhhp"//匹配

bds := `ph?p`//?表示0到1个h
st := "pp"//匹配
st := "php"//匹配
st := "phhhp"//不匹配

bds := `p.p`//.表示匹配任意1个字符[换行符除外],注意是1个,多个.就是多个字符
st := "pp"//不匹配
st := "php"//匹配
st := "phhhp"//不匹配

bds := `ph{3}p`//{3}表示有3个h
st := "pp"//不匹配
st := "php"//不匹配
st := "phhhp"//匹配

bds := `ph{3,}p`//{3,}表示有至少3个h
st := "php"//不匹配
st := "phhhp"//匹配
st := "phhhhhp"//匹配

bds := `ph{0,3}p`//{0,3}表示有0到3个h
st := "pp"//匹配
st := "phhhp"//匹配
st := "phhhhhp"//不匹配

bds := `^php`//^表示以php开头
st := "phpa"//匹配
st := "aphp"//不匹配

bds := `php$`//$表示以php结尾
st := "phpa"//不匹配
st := "aphp"//匹配

# 如果写成^php$还不如直接==判断一下

bds := `php|a|b`  //|表示只要里面有一个匹配就好了
st := "phpa"//匹配
st := "cpp"//匹配
st := "pp"//不匹配

bds := `(php)+`  
//()表示一个单元,可以结合上面的那些符号
//(php)+表示1到多个php
//(php|a)+表示1到多个php或者a
st := "php"//匹配
st := "phpphp"//匹配
st := "pp"//不匹配

bds := `p[a-z]p`  //[a-z]匹配任何包含小写字母a-z的1个字符串
st := "php"//匹配
st := "pap"//匹配
st := "pAp"//不匹配
//[A-Z]匹配任何包含大写字母A-Z的1个字符串
//[0-9]	匹配任何包含数字0-9的1个字符串
//[abc]	匹配任何包含小写字母a、b、c 的1个字符串
//[^abc]匹配任何不包含小写字母a、b、c的1个字符串
//[a-zA-Z0-9_]匹配任何包含a-zA-Z0-9和下划线的1个字符串
bds := `php\b`  //\b匹配是否到达了单词边界,注意是单词,有个空格就当成一个单词
st := "php"//匹配
st := "phpp"//不匹配
st := "php is a language"//匹配

修饰符
bds := `(?i:php)\b`//i标记表示忽略大小写
st := "PHP is a language"//匹配
st := "php is a language"//匹配

//U标记是非贪婪模式
贪婪模式
st := "phpisaphp"
bds := `(p.+p)`
re := regexp.MustCompile(bds)
result := re.FindAllString(st, -1)
fmt.Println(result)
//结果是[phpisaphp]
非贪婪模式
st := "phpisaphp"
bds := `(?U:p.+p)`
//结果是[php php]
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:家里蹲的狐狸 » go语言学习例子No.3–练习正则

分享到: 生成海报
avatar

热门文章

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活