숫자 와 알파벳 암호 가 일치 하 는 정규 표현 식

3892 단어
한 사용자 등록 기능 의 비밀 번 호 는 다음 과 같은 요구 가 있 습 니 다. 숫자 와 자모 로 구성 되 고 숫자 와 자 모 를 동시에 포함 하 며 길 이 는 8 - 16 비트 사이 여야 합 니 다.
어떻게 수 요 를 분석 합 니까?분할!이것 이 바로 소프트웨어 디자인 의 일반적인 사고방식 이다.따라서 분할 수 요 는 다음 과 같다. 1. 모두 숫자 2 일 수 없고 모두 자모 3 일 수 없다. 반드시 숫자 나 자모 가 위의 세 가지 요 구 를 동시에 만족 시 킬 수 있 으 면 된다. 다음 과 같이 쓰 면 된다.
1
^
(
?
!
[
0-9
]
+
$
)
(
?
!
[
a-zA-Z
]
+
$
)
[
0-9A-Za-z
]
{
8
,
16
}
$
나 누 어 설명 하 겠 습 니 다: ^ 한 줄 에 맞 는 시작 위치 (?! [0 - 9] + $) 는 이 위치 뒤에 숫자 (?! [a - zA - Z] + $) 가 아 닐 것 이 라 고 예측 합 니 다.
주: (?! xxxx) 는 정규 표현 식 의 마이너스 0 너비 단언 형식 으로 이 위 치 를 미리 표시 한 후 xxxx 문자 가 아 닙 니 다.
테스트 용례 는 다음 과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public
 
class
 
Test
 
{
    
public
 
static
 
void
 
main
(
String
[
]
 
args
)
 
throws
 
Exception
 
{
        
String
 
regex
 
=
 
"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"
;
        
 
        
String
 
value
 
=
 
"aaa"
;
  
// 길이 가 모자라다
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"1111aaaa1111aaaaa"
;
  
// 너무 길다
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"111111111"
;
 
// 순수 숫자
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"aaaaaaaaa"
;
 
// 알파벳
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"####@@@@#"
;
 
// 특수 문자
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"1111aaaa"
;
  
// 숫자 조합
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"aaaa1111"
;
 
// 숫자 조합
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"aa1111aa"
;
    
// 숫자 조합
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"11aaaa11"
;
    
// 숫자 조합
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
 
        
value
 
=
 
"aa11aa11"
;
 
// 숫자 조합
        
System
.
out
.
println
(
value
.
matches
(
regex
)
)
;
    
}
}

좋은 웹페이지 즐겨찾기