加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 用逗号分隔的正则表达式重复模式

发布时间:2020-12-14 02:28:57 所属栏目:百科 来源:网络整理
导读:我有以下正则表达式: .regex(/^(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{4})$/) 必须正好是4个字符 必须包含至少1个数字和1个alpha 虽然我很少做正则表达,但这相对容易.我现在有一个新的要求,我试图实现,但不能正确. 新要求:能够使用与以前相同类型的输
我有以下正则表达式:
.regex(/^(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{4})$/)

必须正好是4个字符
必须包含至少1个数字和1个alpha

虽然我很少做正则表达,但这相对容易.我现在有一个新的要求,我试图实现,但不能正确.

新要求:能够使用与以前相同类型的输入的逗号分隔列表.不能以逗号结尾.每个项目必须符合上述规则(4个字符,至少在数字上,至少一个alpha)

Valid:  123F,U6Y7,OOO8
Invalid:  Q2R4,Invalid:  Q2R4,1234
Invalid:  Q2R4,ABCD
Invalid:  Q2R4,N6

非常感谢你的帮助!
谢谢!

其他一些答案正在重复前瞻断言.这不是必要的.

这是一个匹配逗号分隔的原子序列的正则表达式,其中每个原子是四个字母数字字符:

^[A-Z0-9]{4}(?:,[A-Z0-9]{4})*$

当然,这不是你想要的.你不希望所有原子都是字母的.这是一个负面的先行断言,可以防止在文本中的任何位置匹配这样的原子:

(?!.*[A-Z]{4})

而且你不希望所有原子都是数字:

(?!.*[0-9]{4})

把它们放在一起:

^(?!.*[A-Z]{4})(?!.*[0-9]{4})[A-Z0-9]{4}(?:,[A-Z0-9]{4})*$

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读