Go正则表达式

Go Regex软件包用于搜索字符串。要搜索字符串, 我们需要提供字符串模式。
我们需要将模式编译到regex对象中, 以便我们可以通过它调用方法。
可以使用compile()和mustcompile()函数来检索正则表达式对象。现在我们可以使用函数来查找字符串, 例如FindString(), FindStringSubmatch(), FindStringIndex()等。
转正则表达式示例1

package mainimport ( "fmt" "regexp" )func main() { re := regexp.MustCompile(".com") fmt.Println(re.FindString("google.com")) fmt.Println(re.FindString("abc.org")) fmt.Println(re.FindString("fb.com")) }

输出:
.com.com

FindString()方法返回一个字符串, 该字符串具有最左边匹配的文本。如果找不到匹配项, 则返回空字符串。
转正则表达式示例2
package mainimport ( "fmt" "regexp" )func main() { re := regexp.MustCompile(".com") fmt.Println(re.FindStringIndex("google.com")) fmt.Println(re.FindStringIndex("abc.org")) fmt.Println(re.FindStringIndex("fb.com")) }

【Go正则表达式】输出:
[6 10] [] [2 6]

转正则表达式示例3
我们还可以使用FindStringSubmatch()方法, 该方法返回具有最左边匹配项和匹配项文本的字符串切片。如果找不到匹配项, 则返回值为空字符串。
package mainimport ( "fmt" "regexp" )func main() { re := regexp.MustCompile("f([a-z]+)ing") fmt.Println(re.FindStringSubmatch("flying")) fmt.Println(re.FindStringSubmatch("abcfloatingxyz")) }

输出:
[flying ly] [floating loat]Process finished with exit code 0

    推荐阅读