gpt4 book ai didi

正则表达式的首位或末位不能有数字,并且长度必须为 6-20 个字符

转载 作者:数据小太阳 更新时间:2023-10-29 02:34:08 24 4
gpt4 key购买 nike

大家早上好。我有一个不能满足我需要的正则表达式。我不能以数字开头或结尾。我必须至少有一个符号,一个大写字母,一个小写字母,当然还有我描述的外部“边界”之间的数字。正则表达式的长度必须至少为 6 个字符,最多为 20 个。下面是我的正则表达式:

^([^0-9](?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[_!?@#$%])[^0-9]).{6,20}$

我遇到的问题是我似乎无法获得正确的数字边界和长度。

例如,在正则表达式测试器中这是可以接受的,

MaA1?kss1111111

但不能满足我的需求。

但这是可以接受的,

Mk?1wK

我没有起始编号也没有结束编号。如果有任何帮助,我将不胜感激。

最佳答案

你可以调整你的正则表达式:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[_!?@#$%])[^0-9].{4,18}[^0-9]$

它使用 .{4,18}(比您的长度要求少 2)是因为您在开始和结束时有 [^0-9]你的正则表达式。

RegEx Demo 1

或者(这也是我的首选解决方案)您可以检查 {6,20} 长度并使用否定先行检查开始/结束处是否存在非数字:

^(?![0-9]|.*[0-9]$)(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[_!?@#$%]).{6,20}$

RegEx Demo 2

关于正则表达式的首位或末位不能有数字,并且长度必须为 6-20 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com