📌  相关文章
📜  Golang 程序检查字符串是否为字母数字

📅  最后修改于: 2022-05-13 01:55:08.993000             🧑  作者: Mango

Golang 程序检查字符串是否为字母数字

在本文中,我们将了解如何在 Golang 中验证字母数字字符串。我们将简单地从用户输入一个字符串并检查该字符串是否为字母数字。我们将使用 Go 中的 regexp 模块来验证字符串的字母数字模式。

字符串输入

为了从用户那里获取输入,我们将使用 Golang 中 fmt 模块中的 Scan函数。我们将输入存储在一个字符串变量中。

Go
// Golang program to take input string from user
package main
 
import (
    "fmt"
)
 
func main() {
    var word string
    fmt.Print("Enter any string: ")
    fmt.Scan(&word)
}


Go
// Go program to check Alphanumeric Regex
package main
 
import (
    "fmt"
    "regexp"
)
 
func main() {
    var word string
    fmt.Print("Enter any string: ")
    fmt.Scan(&word)
    is_alphanumeric := regexp.MustCompile(`^[a-zA-Z0-9]*$`).MatchString(word)
}


Go
// Go program to check Alphanumeric Regex
package main
 
import (
    "fmt"
    "regexp"
)
 
func main() {
    var word string
    fmt.Print("Enter any string: ")
    fmt.Scan(&word)
    is_alphanumeric := regexp.MustCompile(`^[a-zA-Z0-9]*$`).MatchString(word)
    fmt.Print(is_alphanumeric)
    if is_alphanumeric{
        fmt.Printf("%s is an Alphanumeric string", word)
    } else{
        fmt.Printf("%s is not an Alphanumeric string", word)
    }
}


Go
// Go program to check Alphanumeric string
package main
 
import (
    "fmt"
    "regexp"
)
 
func is_alphanum(word string) bool {
    return regexp.MustCompile(`^[a-zA-Z0-9]*$`).MatchString(word)
}
 
func main() {
    var word string
    fmt.Print("Enter any string: ")
    fmt.Scan(&word)
    is_alphanumeric := is_alphanum(word)
    if is_alphanumeric{
        fmt.Printf("%s is an Alphanumeric string", word)
    } else{
        fmt.Printf("%s is not an Alphanumeric string", word)
    }
}


在上面的程序中,我们初始化了一个字符串类型的变量。紧随其后的是声明,我们有一个简单的文本消息供用户输入。最后,我们使用 Scan函数并将输入存储在变量中。

检查字母数字正则表达式

在我们得到用户的输入后,我们现在可以将字符串验证为字母数字字符串。为此,我们将首先导入 regexp 模块。导入模块后,我们将访问MustCompileMatchString函数。

// Go program to check Alphanumeric Regex
package main
 
import (
    "fmt"
    "regexp"
)
 
func main() {
    var word string
    fmt.Print("Enter any string: ")
    fmt.Scan(&word)
    is_alphanumeric := regexp.MustCompile(`^[a-zA-Z0-9]*$`).MatchString(word)
}

使用 MustCompiler函数,我们可以检查是否满足正则表达式,我们已经解析了字符串^[a-zA-Z0-9_]*$ ,它将检查从 start(^) 到 end($) 的任何出现0-9AZaz的字符。我们将该函数与 MatchString 结合起来,它将正则表达式与传递的字符串进行比较。如果评估的正则表达式与字符串匹配,它将简单地返回 true,否则如果模式不匹配,则返回 false。

因此,通过使用 MustCompile 和 MatchString 函数,我们可以验证任何字符串以检查它是否为字母数字。因此,我们可以进一步使用条件语句来相应地打印消息。

// Go program to check Alphanumeric Regex
package main
 
import (
    "fmt"
    "regexp"
)
 
func main() {
    var word string
    fmt.Print("Enter any string: ")
    fmt.Scan(&word)
    is_alphanumeric := regexp.MustCompile(`^[a-zA-Z0-9]*$`).MatchString(word)
    fmt.Print(is_alphanumeric)
    if is_alphanumeric{
        fmt.Printf("%s is an Alphanumeric string", word)
    } else{
        fmt.Printf("%s is not an Alphanumeric string", word)
    }
}

输出:因此,脚本按预期工作,并为不同的字符串组合提供适当的输出。

将脚本转换为函数

无论项目的要求和条件如何,我们都可以将上述脚本转换为函数以便更好地使用。

// Go program to check Alphanumeric string
package main
 
import (
    "fmt"
    "regexp"
)
 
func is_alphanum(word string) bool {
    return regexp.MustCompile(`^[a-zA-Z0-9]*$`).MatchString(word)
}
 
func main() {
    var word string
    fmt.Print("Enter any string: ")
    fmt.Scan(&word)
    is_alphanumeric := is_alphanum(word)
    if is_alphanumeric{
        fmt.Printf("%s is an Alphanumeric string", word)
    } else{
        fmt.Printf("%s is not an Alphanumeric string", word)
    }
}

输出: