어려울 거 같아서 미뤄뒀던 프로그래밍 공부 이번에 숨 딱 참고 Java 다이브 💦
정규표현식(Regular Expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식언어예요. 정규표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색을 위해 지원하고 있어요.
boolean java.util.regex.Pattern.matches(String arg0, charSequence arg1);
- arg0는 정규표현식 문자열이에요.
- arg1은 형식을 검사받기 위한 내용이에요.
- 즉 위의 기능은 arg1이 arg0의 형식에 맞는지를 검사하고 결과를 boolean 으로 리턴해요.
^[0-9]*$
^[a-zA-Z]*$
^[ㄱ-ㅎ가-힣]*$
^[a-zA-Z0-9]*$
^[ㄱ-ㅎ가-힣0-9]*$
^0-9a-zA-Z@0-9a-zA-Z.[a-zA-Z]{2,3}$
^01(?:0|1|[6-9])(?:\d{3}|\d{4})\d{4}$
^\d{2,3}\d{3,4}\d{4}$
^\d{6}[1-4]\d{6}
public class Main01 {
public static void main(String[] args) {
// 회원가입시에 입력한 내용을 가정한 변수값들
String name = "자바학생";
String age = "19";
String email = "student@java.net";
String phone = "01012345678";
// 한글 여부 검사
boolean isKor = Pattern.matches("^[ㄱ-ㅎ가-힣]*$", name);
if( !isKor ) {
System.out.println("이름은 한글로 입력해주세요.");
// 실행도중 return을 만나면 즉시 중단
// void 형은 return 키워드만 명시한다.
return;
}
// 숫자인지 검사
boolean isNum = Pattern.matches("^[0-9]*$", age);
if( !isNum ) {
System.out.println("나이는 숫자로만 입력해 주세요.");
return;
}
// 이메일 검사
boolean isEmail = Pattern.matches("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$", email);
if( !isEmail ) {
System.out.println("이메일 형식이 맞지 않습니다.");
return;
}
// 핸드폰번호 형식 검사
boolean isPhone = Pattern.matches("^01(?:0|1|[6-9])(?:\\d{3}|\\d{4})\\d{4}$", phone);
if( !isPhone ) {
System.out.println("전화번호 형식이 맞지 않습니다.");
return;
}
System.out.println("회원가입 절차를 진행합니다.");
}
}
다음 다이브에서 또 만나요 🌊
출처
https://media.giphy.com/media/l2Je1bFuOpkNpyqYM/giphy.gif
https://media.giphy.com/media/Jbb3KS22397YQ/giphy.gif
https://hamait.tistory.com/342