Regex 密码规则的正则表达式

Regex 密码规则的正则表达式,regex,regex-negation,Regex,Regex Negation,我对设置密码规则有一个奇怪的要求..:| 我的要求是设置一个密码规则,只允许大写字母,最小密码长度为5,最大密码长度为8。我相应地使用了下面的表达方式 ^?=.[A-Z].{5,8}$ 但是,它不是这样工作的。后来,我知道[A-Z]并不意味着只允许大写字母,它意味着至少有一个字母应该是大写字母。 它适用于{5,8}范围,请指导我完成仅允许大写字母的其他要求。。 我们可以试着为所有其他事情设置否定吗?如果是这样的话,请告诉我写否定的方法好吗 提前感谢。规则应该是这样的: ^(?=[A-Z]{5-8

我对设置密码规则有一个奇怪的要求..:| 我的要求是设置一个密码规则,只允许大写字母,最小密码长度为5,最大密码长度为8。我相应地使用了下面的表达方式

^?=.[A-Z].{5,8}$

但是,它不是这样工作的。后来,我知道[A-Z]并不意味着只允许大写字母,它意味着至少有一个字母应该是大写字母。 它适用于{5,8}范围,请指导我完成仅允许大写字母的其他要求。。 我们可以试着为所有其他事情设置否定吗?如果是这样的话,请告诉我写否定的方法好吗


提前感谢。

规则应该是这样的:

^(?=[A-Z]{5-8}$)
它的意思是:5-8个A-Z字母,后跟字符串的末尾。请注意,我已将$放入,以便您可以添加其他规则/使用该字符串

^(?=[A-Z]{5-8}$)(?!A+$)

例如,这是相同的,加上一个仅包含so no AAAAA、AAAAA…

的排除规则,该规则应如下所示:

^(?=[A-Z]{5-8}$)
它的意思是:5-8个A-Z字母,后跟字符串的末尾。请注意,我已将$放入,以便您可以添加其他规则/使用该字符串

^(?=[A-Z]{5-8}$)(?!A+$)

例如,这是相同的,再加上一个只有so no aaaaaaa,AAAAAA…

的排除规则,以下听起来像是您描述的最简单的实现:

^[A-Z]{5,8}$

我不知道你为什么需要这样的东西。。。这是一个零宽度正向前瞻。只需匹配字符串,无需任何技巧。

以下内容听起来像是您所描述内容的最简单实现:

^[A-Z]{5,8}$

我不知道你为什么需要这样的东西。。。这是一个零宽度正向前瞻。只需匹配字符串,没什么棘手的。

回答得好,但为什么要更改量词?它应该有一个逗号而不是破折号=>^[a-Z]{5,8}$@stema:我想这取决于正则表达式引擎的方言。为了保持一致,我把它改成逗号。只是出于兴趣,哪种方言用破折号?“我从来没有见过它。”@stema:我现在不记得了。我很确定我用了一个逗号来表示这个或那个,你可以有两个以上的选择,破折号是一个范围。答案很好,但是你为什么要改变量词呢?它应该有一个逗号而不是破折号=>^[a-Z]{5,8}$@stema:我想这取决于正则表达式引擎的方言。为了保持一致,我把它改成逗号。只是出于兴趣,哪种方言用破折号?“我从来没有见过它。”@stema:我现在不记得了。我很确定我用了一个逗号来表示这个或那个,你可以有两个以上的选择,dash是一个范围。这是一个非常糟糕的密码规则。呵呵。。是的,但那是我们的要求很奇怪;:这是一个很糟糕的密码规则。呵呵。。是的,但那是我们的要求很奇怪;:坦克。。这提高了我的理解力DThanq。。这提高了我的理解力D