一:
1.密码必须是6~18位之间的数字,正则表达式为"1{6,18}
"
2.
必须包含字母和数字的,正则表达式为:
"
(
?
!
[
0
−
9
]
+
" 2.必须包含字母和数字的,正则表达式为:"^(?![0-9]+
"2.必须包含字母和数字的,正则表达式为:"(?![0−9]+)(?![a-zA-Z]+
)
[
0
−
9
A
−
Z
a
−
z
]
6
,
16
)[0-9A-Za-z]{6,16}
)[0−9A−Za−z]6,16"
3.密码中可以有(可有可没有)特殊字符的组合,正则表达式为"^(?![0-9]+
)
(
?
!
[
a
−
z
A
−
Z
]
+
)(?![a-zA-Z]+
)(?![a−zA−Z]+)[0-9A-Za-z\W]{6,18}$"
4.空格符可以识别,如果有空格例: 1223334 2323222 那么会分两部分进行识别,而不是识别成一个整体
(?![0-9]+\s|KaTeX parse error: Undefined control sequence: \s at position 14: )(?![a-zA-Z]+\̲s̲|)(?<=\s|^)[\S]{6,18}(?=\s|$)
(?:^|\s)(?![0-9]+\s|KaTeX parse error: Undefined control sequence: \s at position 14: )(?![a-zA-Z]+\̲s̲|)[\S]{6,18}(?=\s|$)
(1)密码必须是6~18位之间
(2)至少一个字母,一个数字密码和一个特殊字符
(3)空格符可以识别,如果有空格例: 1A223334@ 2323222 那么会分两部分进行识别,而不是识别成一个整体
(?:^|\s)(?![0-9\W]+\s|KaTeX parse error: Undefined control sequence: \W at position 12: )(?![a-zA-Z\̲W̲]+\s|)(?![0-9a-zA-Z]+\s|KaTeX parse error: Undefined control sequence: \s at position 15: )[\S]{6,18}(?=\̲s̲|)
(?:\D|^)\d{8}(?=\D|$)
(?<=\D|^)\d{8}(?=\D|$)
(?:\s|^)(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])(?=\s|$)
我们目前的正则表达式的库还不能支持正向预查(?<=)和多行模式。
?<= 用?:代替
多行模式的^和KaTeX parse error: Undefined control sequence: \s at position 5: 用(?:\̲s̲|^)和(?=\s|)来代替
二:
test文本:
/begin CHARACTERISTIC
/aaabbb
qqbbcsc
/end CHARACTERISTIC
正则要求:
#首行/begin CHARACTERISTIC+换行符
#中间有什么内容不关心
#尾行/end CHARACTERISTIC+换行符
正则表达式:
(/begin CHARACTERISTIC)[\r\n]+[\s\S]?(/end CHARACTERISTIC)[\r\n]+
(/begin CHARACTERISTIC)[\x0c\cL\x0a\cJ]+[\s\S]?(/end CHARACTERISTIC)[\x0c\cL\x0a\cJ]+
三:
想这个正则匹配(?:13[0-9]|14[0,5,7]|133|199)开头的,不匹配后8位中有8位到4位重复的这种数据
(?:13[0-9]|14[0,5,7]|133|199)(?!.*(\d)\1{3,7})\d{8}
筛选开头: (?:13[0-9]|14[0,5,7]|133|199)
筛选连续重复位数4-8位: (\d)\1{3,7}
筛选连续不重复位数4-8位: (?!(\d)\1{3,7})
筛选任意位置不重复位数: (?!.*(\d)\1{3,7})
筛选第0位-第4位开始的不重复位数: (?!\d{0,4}(\d)\1{3,7})\d{8}
https://blog.51cto.com/u_15995687/6275194
0-9 ↩︎