首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何构造这个正则表达式?

如何构造这个正则表达式?
EN

Stack Overflow用户
提问于 2014-02-13 15:14:50
回答 3查看 33关注 0票数 1

好吧,必须对密码做一个正则表达式。

密码应为5大写,3个数字(可按任何顺序排列),共计8 (5+3)

我试试这个

代码语言:javascript
运行
复制
^(.*?(A-Z){5})(.*\d){3}

但不能按任何顺序工作。

希望你们能帮我这个忙。

EN

Stack Overflow用户

发布于 2014-02-13 15:56:30

试试这个:

代码语言:javascript
运行
复制
^(?=(.*[A-Z]){5})(?=(.*\d){3}).{8}$

Debuggex Demo

解释:

  • ^从字符串的开头开始
  • (?=...)向前看,但不要“前进”
  • 只有当字符串包含5个大写字母时,(?:.*[A-Z]){5}才匹配。(?:的意思是“不要捕获这个组;.*的意思是”允许字母之间的字符“。
  • (?=...)向前看,但不要“前进”
  • 只有当字符串包含3位数时,(?:.*\d){3}才匹配。(?:的意思是“不要捕获这个组;.*的意思是”允许数字之间的字符“。
  • .{8}精确匹配8个字符
  • $匹配字符串的末尾

示例:

  • 匹配:
    • ABCDE123
    • A1J4KLZ8
    • 1ABCDE 23

  • 非匹配
    • ABCDEF12 (字母太多)
    • ABCD1234 (数字太多)
    • ABCDE1234 (字符太多)

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21758133

复制
相关文章

相似问题

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