首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式2位数字10个字母/数字

正则表达式2位数字10个字母/数字
EN

Stack Overflow用户
提问于 2021-10-04 08:06:52
回答 1查看 453关注 0票数 2

我正在尝试创建一个正则表达式,但有些东西对我来说不起作用,要求如下:

  1. 最小长度为1
  2. 最大长度为12
  3. 前两个符号必须是数字。
  4. 接下来的10个必须是字母或数字。

到目前为止,这就是我所拥有的

代码语言:javascript
复制
/^[0-9]{0,2}[a-z][A-Z][0-9]{0,10}$/

你们能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-04 08:10:13

模式^[0-9]{0,2}[a-z][A-Z][0-9]{0,10}$在开始时匹配0、1或2位数字。

然后,它匹配两个字符[a-z][A-Z]作为小写和大写字符A-Z,应该存在于字符串中,并且使字符串长度至少为2个字符。

您可以使第二个数字可选,并使用一个字符类的字母或数字。

长度的最小值为1,最大值为12。

代码语言:javascript
复制
^(?!\d[a-zA-Z])\d\d?[a-zA-Z0-9]{0,10}$
  • 字符串的^开始
  • (?!\d[a-zA-Z])负前瞻,不要断言后面跟着-zA的数字。
  • \d\d?匹配1或2位数字
  • [a-zA-Z0-9]{0,10}匹配列出的任何范围的0-10次重复
  • 字符串的$末端

Regex演示

或者一个版本,按照@斯克拉特在注释中的建议进行查找,匹配一个单数和一个可选的第二个数字,后面跟着列出的范围的0-10次重复:

代码语言:javascript
复制
^\d(?:\d[A-Za-z\d]{0,10})?$

Regex演示

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69432772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档