PHP小写字母带可选下划线的6字符正则表达式验证求助
正则表达式解决方案
针对你的需求,正确的正则表达式可以这样写:
^(?=.{1,6}$)[a-z]+(?:_[a-z]+)?$
规则拆解:
(?=.{1,6}$):通过正向预查限制字符串总长度在1到6字符之间[a-z]+:确保字符串以至少一个小写拉丁字母开头(?:_[a-z]+)?:可选的下划线分隔结构——下划线必须紧跟至少一个小写字母,既避免下划线出现在末尾,也保证下划线只能作为字母间的分隔符
验证结果匹配:
- 有效:
ex_bar(长度5,符合首尾字母、中间下划线分隔的规则) - 无效:
_exbar(开头是下划线)、exbar_(结尾是下划线)、_test_(首尾都是下划线)
如果允许字符串中出现连续下划线(比如a__b),可以改用另一个版本:
^[a-z](?:[a-z_]{0,4}[a-z])?$
这个版本的逻辑是:开头必须是小写字母,结尾必须是小写字母,中间可以填充0到4个小写字母或下划线,总长度控制在1-6之间。
内容的提问来源于stack exchange,提问作者Vlad K
相关产品推荐
相关产品推荐

