You need to enable JavaScript to run this app. 如何编写匹配16位字符且排除纯16位数字的正则表达式
优惠活动
大模型
产品
解决方案
定价
更多

如何编写匹配16位字符且排除纯16位数字的正则表达式

可用正则方案

直接使用带负向前瞻的正则即可满足需求:
^(?!\d{16}$)\w{16}$


规则拆解

  • ^ 匹配字符串的起始位置
  • (?!\d{16}$) 负向前瞻断言,要求字符串从头到尾不能是纯16位数字,只要存在至少1个非数字字符就符合该断言
  • \w{16} 匹配16位由字母、数字、下划线组成的字符,和你原有正则的字符匹配规则完全一致
  • $ 匹配字符串的结束位置

匹配测试结果

  • 符合要求,匹配成功:MDA0ODcyfEFBQ3w3
  • 纯数字,匹配失败:2107260040003208
  • 长度不符合16位的字符串同样会匹配失败

可选调整

如果你的业务场景不需要匹配下划线,仅允许字母和数字,可以把\w替换为[a-zA-Z0-9],调整后正则为:
^(?!\d{16}$)[a-zA-Z0-9]{16}$

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 16:30:02