我很清楚,如果需要至少4个字符{4,}
我正在尝试在go
中编译允许使用的正则表达式
至少有4个字符,总计 ,包括连字符
仅字母数字和连字符
最后一个字符应该不是连字符
所以有人建议我使用这个:
^[a-zA-Z0-9-]*[a-zA-Z0-9]$
这似乎可以完成工作。
现在,考虑到我要强制执行最少4个字符,我对其进行了如下修改:
^[a-zA-Z0-9-]*[a-zA-Z0-9]{4,}$
但是,鉴于以下模式,这似乎无法完成工作
eee0-lll
不 match(根据我的要求)。
我面临的制约因素之一是go
不允许环视断言。
答案 0 :(得分:2)
您可以使用
^[a-zA-Z0-9-]{4,}\b$
请参见regex demo
详细信息
^
-字符串的开头[a-zA-Z0-9-]{4,}
-四个或更多ASCII字母,数字或连字符
-\b
-需要一个字符char(字母,数字或_
)的单词边界立即显示在当前位置的左侧,因为下一个模式要求... $
-字符串的结尾。