대문자 소문자 숫자 특수문자가 혼합된 8자 이상의 문자를 찾아오려고 합니다.(패스워드 패턴입니다)
인터넷을 뒤지고 공부하고 참고해서
((?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[[:punct:]]).{8,})
위와 같은 정규식 구문이 만들어 졌습니다.
약간의 문제가 있지만 아래와 같은 패턴에 대해 모두 만족하는 정규식이 만들어졌지요.
Abcdef1234!
1qA!jijiji test
1qaz!QAZ abc
Abcde1345
1qA!QAZ
!QAZ1qaz
zaq1ZAQ!
그런데 이걸 오라클 정규식에 대입하려고 하니
?= <-- 이구문이 작동이 안되는것 같더군요. 에러는 나지 않습니다.
오라클 정규식 항목을 찾아보니 정규식 연산자에는 ?= 부분이 없는것 같습니다.
이런저런 시도를 해보고 있습니다만 능력 부족으로 잘 되지 않는 군요.
단순히 (?[a-z])(?[A-Z])(?[0-9])
이런식으로 넣으면
aA0 (O)
A0a (X)
Aa0 (X)
이런식으로 순서가 맞는 경우에만 매칭이 되지
포함이 되는지 아닌지에 대해서는 체크가 되지 않습니다.
도움 부탁드립니다
|