gpt4 book ai didi

ruby - 两个字母和最多 13 个数字的正则表达式错误地接受额外的字母

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:21 25 4
gpt4 key购买 nike

我正在尝试为遵循此规则的模型字段构建正则表达式:

  • 以两个字母开头
  • 可以填写数字,最多13位

有效示例:

  • US333
  • FR52389000

无效示例:

  • 11111
  • T11

我以为我找到了正确的正则表达式:

/[a-zA-Z][a-zA-Z]\d*/

但是用 http://rubular.com/ 证明测试它似乎验证了 RR444kjj

谁能指出错误?

最佳答案

您需要对 \d 和正确的 anchor 使用限制量词。

/\A[[:alpha:]]{2}\d{0,13}\z/

参见 regex demo .

  • \A - 字符串的开头(注意 ^ anchor 匹配 Ruby 正则表达式中行的开头)
  • [[:alpha:]]{2} - 2 个字母(为确保只允许 ASCII 字母,请使用 [a-zA-Z]{2})
  • \d{0,13} - 0 到 13 位数字
  • \z - 字符串结尾(注意 $ anchor 与 Ruby 正则表达式中行的结尾匹配)。

关于ruby - 两个字母和最多 13 个数字的正则表达式错误地接受额外的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48053032/

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