我很清楚,要指示正则表达式的最小长度,应该使用这个量词,如果需要至少 4 个字符的 min {4,}
我正在尝试在 go
中编译正则表达式这将允许
所以有人建议我使用这个:
^[a-zA-Z0-9-]*[a-zA-Z0-9]$
这似乎可以完成这项工作。现在,考虑到我想强制执行最少 4 个字符,我对它进行了如下修改:
^[a-zA-Z0-9-]*[a-zA-Z0-9]{4,}$
然而,鉴于下面的模式,这似乎并没有完成工作eee0-lll
不是 match (根据我的要求它应该)。我面临的限制之一是
go
不允许环视断言。
最佳答案
您可以使用
^[a-zA-Z0-9-]{4,}\b$
见 regex demo详情
^
- 字符串开头 [a-zA-Z0-9-]{4,}
- 四个或更多 ASCII 字母、数字或连字符-
\b
- 需要字字符(字母、数字或 _
)立即出现在当前位置左侧的字边界,因为下一个模式需要... $
- 字符串的结尾。 关于regex - 正则表达式中的最小长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63969623/