[우아한테크코스] 8월 3일 TIL

less than 1 minute read

[Java] 정규표현식 정리

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,20}$

위와 같이 표현할 경우 ()에 들어있는 조건을 필수로 포함하는 [] 안에 들어있는 문자들로 만들어진 길이 {} 안의 문자열이다.

  • ^ 문자열 시작

  • $ 문자열 종료

  • . 임의의 한 문자

  • * 앞 문자가 없을 수도 무한일수도

  • + 앞 문자가 하나 이상

  • ? 앞 문자가 없거나 하나

  • [] 문자의 집합이나 범위로 ^가 선행하면 not

  • {} 횟수나 범위

  • () 소괄호 안의 문자를 하나의 문자로 인식

  • | or 연산

  • \s 공백 문자

  • \S 공백 문자가 아닌 나머지 문자

  • \w 알파벳이나 숫자

  • \W 알파벳이나 숫자를 제외한 문자

  • \d 숫자

  • \D 숫자를 제외한 모든 문자

  • \ 확장자로 이 뒤에 오면 문자 자체

  • (?i) 대소문자 구분 x

8~15자 이내 숫자, 문자, 특수문자 포함 비밀번호 ^.*(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&+=]).*$