IT
[Java] 정규표현식 메일
열심히 정리하자!!
2021. 3. 25. 17:28
반응형
1. boolean java.lang.String.matches(String regex)
public class RegularExpressionsTest {
public static void main(String[] args) throws Exception {
System.out.println( "aaa@google.com".matches("^[0-9a-zA-Z]([-_.]*?[0-9a-zA-Z])*@[a-zA-Z]([-_.]*?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$") );
System.out.println( "aaa_1@google.co.kr".matches("^[0-9a-zA-Z]([-_.]*?[0-9a-zA-Z])*@[a-zA-Z]([-_.]*?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$") );
}
}
2. 규칙 풀이
^[0-9a-zA-Z]([-_.]*?[0-9a-zA-Z])*@[a-zA-Z]([-_.]*?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$
^[0-9a-zA-Z] => 꼭 제일 앞에는 숫자, 영문 소/대문자로 시작해야 한다.
([-_.]*?[0-9a-zA-Z])* => 대쉬(-), 언더바(_), 마침표(.) 는 중간에 있어도 되고 없어도 되지만 마지막은 꼭 숫자, 영문 소/대문자로 끝나야 한다.
@ => @ 가 중간에 존재
.[a-zA-Z]{2,3}$ => .영문 소/대문자 2~3자리가 마지막에 와야한다.
반응형