gpt4 book ai didi

php - 正则表达式匹配字母数字,中间可能只有破折号

转载 作者:可可西里 更新时间:2023-11-01 01:01:08 33 4
gpt4 key购买 nike

我已经做到了这一点:

^[a-zA-Z0-9]+(?:--?[a-zA-Z0-9]+)*$

但是上面的表达式并没有像我需要的那样限制长度。我需要的模式总共只能匹配 5-6 个字符。所以,这就是它应该如何解决的问题:

safety        (valid)
safet- (invalid)
s-a-fe (valid)
-safet (invalid)
s7-45 (valid)
s--fs (invalid)

连续连字符无效。前导和尾随连字符无效。总长度(包括任何连字符)应为 5-6 个字符。我尝试用范围 ({5,6}) 替换我的 +,但没有成功。感谢您的帮助。


我尝试的另一条路线是:

^[A-Z0-9][A-Z0-9-]{3,4}[A-Z0-9]$i

这看起来不错且高效,但它允许连续的连字符。

最佳答案

首先使用前瞻性来指定允许的字符数。

^(?=.{5,6}$)[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*$

DEMO

关于php - 正则表达式匹配字母数字,中间可能只有破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25980528/

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