登录
首页 >  Golang >  Go问答

从 Go 中的字符串中提取匹配模式

来源:stackoverflow

时间:2024-03-31 16:45:37 241浏览 收藏

golang学习网今天将给大家带来《从 Go 中的字符串中提取匹配模式》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

如何根据模式从字符串中提取值?

这是我的模式:Member-[A-Za-z]+-Age%d+

示例:Member-John-Age50Member-Peter-Age120

我想在给定与模式匹配的字符串的情况下提取 nameage


解决方案


-[a-za-z]+- 代表姓名,\d+ 代表年龄。例如:

import "regexp"
import "fmt"


func main() {
    r, _ := regexp.Compile(`Member-([A-Za-z]+)-Age(\d+)`) // Pay attention, no ", instead `
    name, _ := regexp.Compile(`-[A-Za-z]+-`)
    age, _ := regexp.Compile(`\d+`)

    matched_strings := r.FindAllString("oMember-John-Age50, jvienvujfeuvfejvwMember-Peter-Age120jvfjemvfjenvfeuvnuru", -1)

    for i := range matched_strings {
        name := name.FindString(matched_strings[i])
        name = name[1:len(name)-1]
        age := age.FindString(matched_strings[i])

        fmt.Println(name, age) // John 50, Peter 120
    }
}

现在这是我尝试继续使用正则表达式,当然你可以用其他方式来做。姓名和年龄应存储在变量中,您可以根据需要使用它们。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>