登录
首页 >  Golang >  Go问答

验证字符串长度的正则表达式

来源:stackoverflow

时间:2024-02-25 20:24:24 339浏览 收藏

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

问题内容

我正在编写一个函数来在 go 中执行简单的基于正则表达式的模式匹配,并且需要另外验证我想要与该模式匹配的字符串的长度。 这是我的正则表达式的要求:

  • 第一个字符必须是字母或数字
  • 最后一个字符必须是字母或数字
  • 第一个和最后一个之间的任何字符都必须是字母、数字或“.”、“_”和“-”中的任意字符
  • 最小长度为一个字符
  • 最大长度为 255 个字符
func validateUserEnvironmentName(name string) bool {
    var validEnvName = regexp.MustCompile(`^[a-zA-Z0-9]+[a-zA-Z0-9_.\-]*[a-zA-Z0-9]{1,255}$`)
    return validEnvName.MatchString(name)
}

正则表达式能够验证除输入超过 255 个字符的情况之外的每个用例。 go 中的正则表达式是否提供了一种机制来验证整个模式的长度,或者我应该修改正则表达式以适应此特定用例?

这里是用于测试的 go 演示链接 - https://play.golang.org/p/gmgyh8vtx34


解决方案


不要为此使用正则表达式。通常只需检查字符串的长度即可。正则表达式速度慢且计算成本高,因此只应在真正需要时使用。

好了,本文到此结束,带大家了解了《验证字符串长度的正则表达式》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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