我必须找到具有以下规则的正则表达式。
好的:
+234567899
a_1de*Gg
xy1Me*__
!41deF_hij2lMnopq3ss
C234567890123$^67800
*5555555
sDF564zer""
!!!!!!!!!4!!!!!!!!!!
abcdefghijklmnopq9ss
不好:
或多或少有8-20个字符:
a_1+Eff
B41def_hIJ2lmnopq3stt
abCDefghijklmnopqrss5
有空格字符:
A_4 e*gg
以数字或下划线开头:
__1+Eff
841DEf_hij2lmnopq3stt
以两个不同的字符结尾:
a_1+eFg
b41DEf_hij2lmnopq3st
不含数字:
abCDefghijklmnopqrss
abcdef+++dF
!!!!!!!!!!!!!!!!!!!!
到目前为止,我有这个
((?m:[^0-9_]^(?=.*[0-9])\S{8,20}$))
但是我似乎无法弄清楚最后两个相同的字符?
以下内容适用于大多数正则表达式版本(PCRE,Python,PHP,JavaScript):
/^(?=\S{8,20}$)(?=\D*\d)(?![0-9_]).{6,18}?(.)\1$/i
解释:
/
定界符^
字符串开始(?=\S{8,20}$)
后跟8-20个非空白字符(?=\D*\d)
包含一个数字(?![0-9_])
不能以数字或下划线开头.{6,18}?
非贪婪字符匹配(将我们从字符串的开头移到结尾)(.)\1
匹配任何字符,然后再次匹配相同的字符$
字符串的结尾/
定界符i
flag:不区分大小写(Gg
例如,必须两次看到相同字符)本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句