gpt4 book ai didi

regex - 用于验证长度的正则表达式

转载 作者:行者123 更新时间:2023-12-01 22:40:36 24 4
gpt4 key购买 nike

我正在编写一个函数来在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个字符的情况以外,regex能够验证所有用例。 Go中的regex是否提供一种机制来验证整个模式的长度,还是应该修改regex以适应此特定用例?

    这是要进行测试的Go Playground链接- https://play.golang.org/p/GmGYh8vtx34

    最佳答案

    不要为此使用正则表达式。只需正常检查字符串的长度即可。正则表达式速度慢且计算量大,因此仅应在确实需要它们时使用。

    关于regex - 用于验证长度的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60572029/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com