You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何组合正则表达式:匹配无空格、含至少2大写及小写/符号的19-90位字符串

整合正则表达式满足所有要求

嘿,我来帮你把这些条件合并成一个高效的正则表达式!咱们先把所有要求列清楚,再逐个对应到正则的各个部分:

核心要求回顾

  • 字符串长度在19-90字符之间
  • 无任何空格
  • 至少包含2个大写字母(A-Z)
  • 至少包含1个小写字母(a-z)
  • 至少包含1个符号(非字母数字且非空格的字符,若你有特定符号范围可调整)

最终整合的正则表达式

^(?=(.*[A-Z]){2,})(?=.*[a-z])(?=.*[^a-zA-Z0-9 ])[^ ]{19,90}$

逐个部分解析

让我拆解一下这个正则的每个模块,帮你理解它的逻辑:

  • ^:匹配字符串的起始位置,确保我们从开头就开始检查
  • (?=(.*[A-Z]){2,}):正向预查,用来确保字符串中至少存在2个大写字母。(.*[A-Z]){2,}表示匹配任意字符后接一个大写字母,这个组合至少出现2次
  • (?=.*[a-z]):另一个正向预查,确保字符串中至少有一个小写字母
  • (?=.*[^a-zA-Z0-9 ]):正向预查,确保字符串中存在至少一个非字母、非数字、非空格的符号。如果你需要限定特定符号(比如只允许!@#$%^&*),可以把这部分改成(?=.*[!@#$%^&*])
  • [^ ]{19,90}:匹配19到90个非空格字符,直接满足长度限制和无空格的要求
  • $:匹配字符串的结束位置,确保整个字符串都符合规则

测试示例

  • ✅ 符合要求的字符串:XyZ123!abcdefghijklmnopqrstuvwxyz(长度足够、2个以上大写、有小写、有符号、无空格)
  • ❌ 不符合的情况:
    • abcdefghijklmnopqrstuvwxyz:缺少大写字母
    • ABCDEFGHIJKLMNOPQRSTUVWXYZ:缺少小写字母
    • Abcdefghijklmnopqrstuvwxyz:缺少符号
    • Ab cdefghijklmnopq!rstuvwxyz:包含空格
    • Ab!:长度不足19字符

内容的提问来源于stack exchange,提问作者eera5607

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:26:09