삼성SDS_멀티캠퍼스/Java

14일 차 정규표현식

박성우기 2015. 9. 25. 09:06
반응형

# 정규표현식 : 정규표현식의 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.  

주로 문자열의 검색과 치환을 위한 용도로 사용.

입력한 문자열에서 특정한 조건을 표현할 경우 일반적인 조건문으로는 복잡할 수 있지만, 정규표현식을 이용하면 매우 간단하게 표현이 가능함.

But, 코드가 간단한 만큼 가독성이 떨어져서 표현식을 숙지하지 않으면 이해하기 힘들다.

 

정규 표현식에 대한 자세한 내용이 있는 사이트 : http://www.nextree.co.kr/p4327/

 

## 사용자에게 이메일과 전화번호를 입력받아 검증하는 프로그램.

 

import java.util.Scanner;
import java.util.regex.Pattern;

//정규표현식 작성
public class Test4 {
 public static void main(String[] args) {
  String regexEmail = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@(?:\\w+\\.)+\\w+$";
  String regexPhoneNum = "(\\d{3})-(\\d{3,4})-(\\d{4})";

  Scanner scan = new Scanner(System.in);

  System.out.println("이메일 입력");
  String userEmail = scan.nextLine();

  boolean ox = Pattern.matches(regexEmail, userEmail);
  if (ox)
   System.out.println("정상적인 이메일");
  else
   System.out.println("비정상적인 이메일");

  System.out.println("전화번호 입력");
  String userPhone = scan.nextLine();

  ox = Pattern.matches(regexPhoneNum, userPhone);
  if (ox)
   System.out.println("정상적인 전화번호");
  else
   System.out.println("비정상적인 전화번호");
 }

 



출처 : http://justbaik.tistory.com/31



참고할 만한 사이트 : http://www.nextree.co.kr/p4327/


반응형