go html 正则,go 正则的使用

定义一个正则表达式

调用regexp 下面的几个方法并传入一个正则的字符串形式的参数定义一个正则表达式

例如 :regexp.MustCompile("\d")

Compile

CompilePOSIX

MustCompile

MustCompilePOSIX

方法概述

regexp包中有16种方法来匹配正则表达式并标识匹配的文本,他们的名称可以使用这个正则来匹配

Find(All)?(String)?(Submatch)?(Index)?

如果存在 All 该函数将匹配整个表达式的连续非重叠匹配。方法返回的是一个包含非all 值得切片,这个方法使用一个额外的参数整数参数 n, 如果n> = 0,则该函数最多返回n个匹配项/子匹配项;否则,它返回所有匹配项/子匹配项。

如果存在 String 参数会是一个string,否则参数是一个 []byte 返回值也会相应的调整.

如果存在 Submatch 返回值是一个切片,用于标识表达式的连续子匹配项, 子匹配项是正则表达式中带括号的子表达式(也称为捕获组)的匹配项,按左括号的顺序从左到右编号。子匹配0是整个表达式的匹配项,子匹配1是第一个带括号的子表达式的匹配项,依此类推。

如果存在Index, 则返回输入字符串匹配项和子匹配项字节索引对,result[2*n:2*n+1]标识第n个子匹配项的索引, n==0 是整个表达式匹配的结果的索引对,如果不存在Index,则通过匹配/子匹配的文本识别匹配。

还有一些其他方法与此模式不匹配。

package main

import (

"fmt"

"regexp"

)

func main() {

// Compile the expression once, usually at init time.

// Use raw strings to avoid having to quote the backslashes.

var validID = regexp.MustCompile(`^[a-z]+\[[0-9]+\]$`)

fmt.Println(validID.MatchString("adam[23]"))

fmt.Println(validID.MatchString("eve[7]"))

fmt.Println(validID.MatchString("Job[48]"))

fmt.Println(validID.MatchString("snakey"))

}

翻译自 go regexp

regex syntex 正则语法

有疑问加站长微信联系(非本文作者)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值