正在寻找一个regex-8charminw/1num和1char
我正在寻找一些帮助来创建一个正则表达式,它需要8个字符(至少)和1个数字以及1个字符(不是特殊字符) 示例:a1234567有效,但12345678无效 对一个新手有什么帮助吗 编辑: 感谢您的快速回复-在VB中工作的实现如下所示正在寻找一个regex-8charminw/1num和1char,regex,Regex,我正在寻找一些帮助来创建一个正则表达式,它需要8个字符(至少)和1个数字以及1个字符(不是特殊字符) 示例:a1234567有效,但12345678无效 对一个新手有什么帮助吗 编辑: 感谢您的快速回复-在VB中工作的实现如下所示 Dim ValidPassword As Boolean = Regex.IsMatch(Password, "^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$") 您确实需要一个包含三个正则表达式的表达式:) 至少提供8个A-Z、A-Z、0-9和
Dim ValidPassword As Boolean = Regex.IsMatch(Password, "^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$")
您确实需要一个包含三个正则表达式的表达式:) 至少提供8个A-Z、A-Z、0-9和u字符
/\d/
查找单个数字
/[A-Za-z]/
查找单个字母
因此,在Perl中:
$string =~ /\w{8}/ and $string =~ /\d/ and $string =~ /[A-Za-z]/
您确实需要一个包含三个正则表达式的表达式:) 至少提供8个A-Z、A-Z、0-9和u字符
/\d/
查找单个数字
/[A-Za-z]/
查找单个字母
因此,在Perl中:
$string =~ /\w{8}/ and $string =~ /\d/ and $string =~ /[A-Za-z]/
差不多
^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$
行得通
剖析:
字符串的开头^
向前看,确保至少有一个数字(?=.[0-9])
向前看,确保至少有一个字母(?=.[a-zA-Z])
实际匹配8个以上的字符\w{8,}
字符串的结尾$
\w
替换为[A-Za-z0-9@$%^&*]
^(?![0-9]$)(?![a-zA-Z!]$)\w{8,}$类似于
^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$
行得通
剖析:
字符串的开头^
向前看,确保至少有一个数字(?=.[0-9])
向前看,确保至少有一个字母(?=.[a-zA-Z])
实际匹配8个以上的字符\w{8,}
字符串的结尾$
\w
替换为[A-Za-z0-9@$%^&*]
^(?![0-9]$)(?![a-zA-Z!]$)\w{8,}$尝试以下正则表达式: 这些部分是:
检查至少一个0-9字符(?=[a-zA-Z]*[0-9])
检查集合a-Z,a-Z中的至少一个字符(?=[0-9]*[a-zA-Z])
检查0-9、a-Z、a-Z至少出现8次的长度^[0-9a-zA-Z]{8,}$
^([0-9][a-zA-Z][0-9a-zA-Z]{6,}|[0-9]{2}[a-zA-Z][0-9a-zA-Z]{5,}|[0-9]{3}[a-zA-Z][0-9a-zA-Z]{4,}|[0-9]{4}[a-zA-Z][0-9a-zA-Z]{3,}|[0-9]{5}[a-zA-Z][0-9a-zA-Z]{2,}|[0-9]{6}[a-zA-Z][0-9a-zA-Z]+|[0-9]{7}[a-zA-Z][0-9a-zA-Z]*|[a-zA-Z][0-9][0-9a-zA-Z]{6,}|[a-zA-Z]{2}[0-9][0-9a-zA-Z]{5,}|[a-zA-Z]{3}[0-9][0-9a-zA-Z]{4,}|[a-zA-Z]{4}[0-9][0-9a-zA-Z]{3,}|[a-zA-Z]{5}[0-9][0-9a-zA-Z]{2,}|[a-zA-Z]{6}[0-9][0-9a-zA-Z]+|[a-zA-Z]{7}[0-9][0-9a-zA-Z]*)$
请尝试使用以下正则表达式: 这些部分是:
检查至少一个0-9字符(?=[a-zA-Z]*[0-9])
检查集合a-Z,a-Z中的至少一个字符(?=[0-9]*[a-zA-Z])
检查0-9、a-Z、a-Z至少出现8次的长度^[0-9a-zA-Z]{8,}$
^([0-9][a-zA-Z][0-9a-zA-Z]{6,}|[0-9]{2}[a-zA-Z][0-9a-zA-Z]{5,}|[0-9]{3}[a-zA-Z][0-9a-zA-Z]{4,}|[0-9]{4}[a-zA-Z][0-9a-zA-Z]{3,}|[0-9]{5}[a-zA-Z][0-9a-zA-Z]{2,}|[0-9]{6}[a-zA-Z][0-9a-zA-Z]+|[0-9]{7}[a-zA-Z][0-9a-zA-Z]*|[a-zA-Z][0-9][0-9a-zA-Z]{6,}|[a-zA-Z]{2}[0-9][0-9a-zA-Z]{5,}|[a-zA-Z]{3}[0-9][0-9a-zA-Z]{4,}|[a-zA-Z]{4}[0-9][0-9a-zA-Z]{3,}|[a-zA-Z]{5}[0-9][0-9a-zA-Z]{2,}|[a-zA-Z]{6}[0-9][0-9a-zA-Z]+|[a-zA-Z]{7}[0-9][0-9a-zA-Z]*)$
不错。。。不过,您需要检查下划线,不是吗?目前这需要一个小写-如果我想要一个OR like语句-那么1个小写字符还是1个大写字符?所有其他都是100%,我不确定你要的是什么“A1234567”、“A1234567”和“Aa123456”都与此匹配。你能举一个你想匹配但目前没有匹配的东西的例子吗?啊,你是对的(对不起)-我意识到它不允许任何特殊字符,如$或%-可以允许吗?一些最小化可以是下一个^(?=.*[0-9])(?=.*[A-z])\w{8,}$不错。。。不过,您需要检查下划线,不是吗?目前这需要一个小写-如果我想要一个OR like语句-那么1个小写字符还是1个大写字符?所有其他都是100%,我不确定你要的是什么“A1234567”、“A1234567”和“Aa123456”都与此匹配。你能举一个你想匹配但目前没有匹配的东西的例子吗?啊,你是对的(对不起)-我意识到它不允许任何特殊字符,如$或%-可以允许吗?一些最小化可以是下一个^(?=.[0-9])(?=.[A-z])\w{8,}$