정규 표현식(Regular Expression)
- 정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다.
- 입력받을 데이터에 조건을 거는 것
- @Pattern 에너테이션을 사용하여 입력받는 데이터를 검증할 수 있음
Bean Validation
에너테이션 | 내용 |
---|
@NotNull | null 불가 |
@NotEmpty | null, “” 불가 |
@NotBlank | null, “”. “ “ 불가 |
@Size(min=2, max=10) | 문자길이를 2~10 지정 |
@Max(10) | 최대값, size로 해도 문제 없음 |
@Min(2) | 최소값, size로 해도 문제 없음 |
@Positive | 양수 |
@Negative | 음수 |
@Email | E-mail 형식 |
@Pattern | 정규 표현식 |
정규 표현식 적용
public class SignupRequestDto {
@Pattern(regexp = "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+$")
private String email;
}
정규 표현식 내용
- "^(.+)@(.+)$"
=> 가운데 @만 있으면 됨
- "^[A-Za-z0-9+_.-]@(.+)$"
=> @ 앞에 대소문자 A~Z, 숫자 0 ~ 9, _. 허용
- "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]@[a-zA-Z0-9.-]+$")
=> 위 내용에 + 입력한 각종 특수문자
정규식 기호
기호 | 설명 |
---|
^ | 시작을 의미 |
[^a] | a가 아닌 문자 하나 |
. | 임의 문자 1개를 의미 |
$ | 끝을 의미 |
() | 그룹 |
[] | 괄호안에 있는 문자 가능 |
+ | 앞의 표현식이 1개 이상 or 여러개 |
- | 사이의 문자 혹은 숫자를 의미한다 |
=> 더 많은 기호가 있다 세부 내용은 참고 블로그에서!