Regex只允许某些字符
我有一个工作正则表达式,它至少匹配1个大写字母、1个小写字母和1个数字:Regex只允许某些字符,regex,Regex,我有一个工作正则表达式,它至少匹配1个大写字母、1个小写字母和1个数字: "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*" 我试图修改为只允许下划线、美元符号或英镑符号,\u$我不知道如何处理这个问题。这是不正确的: "(?=.*\d)(?=.*[a-z_$£])(?=.*[A-Z]).*" 例如: 'Pa$$w0rd' - true 'orange1_' - false 'Apple22_' - true 'Banana100_!' - false 示例有什么问题?您
"(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*"
我试图修改为只允许下划线、美元符号或英镑符号,\u$
我不知道如何处理这个问题。这是不正确的:
"(?=.*\d)(?=.*[a-z_$£])(?=.*[A-Z]).*"
例如:
'Pa$$w0rd' - true
'orange1_' - false
'Apple22_' - true
'Banana100_!' - false
示例有什么问题?您的正则表达式已经允许所有这些字符。如果我正确理解了您的问题,您希望只允许使用那些特殊字符(字母和数字除外)。在这种情况下,您应该将正则表达式末尾的
*
更改为[\d\w$”*
(\u
包含在\w
中):
在线演示:Powershell?是否要添加另一个必需的图案?然后使用
“^(?=\D*\D)(?=[^a-z]*[a-z])(?=[^a-z]*[a-z])(?=[^a-z]*[a-z])。”
你的意思是“只允许”还是“也允许”?或者“还需要”?@tobias_kpermit@LightningWar但是你原来的正则表达式已经允许了这些,它只需要其他的正则表达式。为什么Banana100_代码>无效?存在1个上限、1个下限、1个数字、1个\uuu
。
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[\d\w$£]*$