[JAVA] 정규식 (RegEx)


정규식

정규식이란 문자열에서 특정 문자 조합과 일치시키기 위한 패턴입니다.



정규식 사용예제

패스워드 벨리데이션 함수를 만들었다.

"정규식"이란 부분만 정규식으로 바꾸면 정상 작동한다.


import java.util.regex.Matcher;
import java.util.regex.Pattern;

private static boolean validationPasswd(String pw){
    private static Pattern p = Pattern.compile("정규식");
    Matcher m = p.matcher(pw);

    if(mtch.matches()){
        return true;
    }
    return false;
}



패스워드 정규식 예제

1. 가장 많이 사용되는 최소 8자리에 숫자, 문자, 특수문자 각각 1개 이상 포함
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$"


2. 최소 8자리에 대문자 1자리 소문자 한자리 숫자 한자리
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"

3. 최소 8자리에 대문자 1자리 소문자 1자리 숫자 1자리 특수문자 1자리

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}"



이메일 정규식 예제

이메일 정규식 예제

"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$"


위도, 경도 정규식 예제

위도, 경도 정규식(-90~90,-180~180 소수점 6자리)

^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$

 

IP주소 정규식 예제


"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"

정규식 확인 할 수 있는 온라인 서비스


https://regexr.com/

'JAVA' 카테고리의 다른 글

[jsp] include 사용방법  (0) 2018.01.01
[JAVA] null 체크  (0) 2017.12.13
[JSP] jstl 과 el의 차이점  (0) 2017.12.04
[JSTL]choose와 when, otherwise 사용법  (0) 2017.11.23
[JSTL]fmt:formatNumber  (0) 2017.11.22

+ Recent posts