红宝石正则表达式。限制最小和最大字符串长度

Posted

技术标签:

【中文标题】红宝石正则表达式。限制最小和最大字符串长度【英文标题】:Ruby regex. Limit min and max string length 【发布时间】:2021-11-22 09:05:41 【问题描述】:

要求:

最少 5 个,最多 50 个符号 只有大写字母和 0-9 . / - space 连续不超过 1 个 不能以此特殊符号开始和结束

已经收到\A[A-Z0-9]+(?:[.\/ -][A-Z0-9]+)*\z。 它工作正常,但不验证字符串长度。 如何添加最小-最大长度验证?

【问题讨论】:

重复Restricting Character length in Regular expression 【参考方案1】:

您可以在模式的开头添加 look-ahead 以“扫描”总字符串长度,然后再执行其他模式检查。要匹配最小长度为 5 和最大长度为 50 的字符串,请将其添加到模式的开头:

(?=.5,50\z)

【讨论】:

以上是关于红宝石正则表达式。限制最小和最大字符串长度的主要内容,如果未能解决你的问题,请参考以下文章

java 验证密码的正则表达式,要求同时有数字和字母,长度最小6,最大16,无限感激啊!

限制正则​​表达式中的字符长度

8正则表达式

扩展正则表达式egrep

正则表达式:如何使范围匹配最小可能长度?

正则表达式