[JAVA] 자바 정규식으로 휴대폰번호/전화번호 자르기

[JAVA] 정규식으로 휴대폰번호 자르기

 

안녕하세요. 오늘은 정규식으로 휴대폰번호 자르기를 해볼게요.

정규식 : ^(01\\d{1}|02|0505|0502|0506|0\\d{1,2})-?(\\d{3,4})-?(\\d{4})

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class codeTest {


    public static void main(String[] args) throws Exception{

        String[] phoneArray = phoneNumberSplit("01012341234");
        System.out.println(phoneArray[0]);
        System.out.println(phoneArray[1]);
        System.out.println(phoneArray[2]);
    }


    public static String[] phoneNumberSplit(String phoneNumber) throws Exception{

        Pattern tellPattern = Pattern.compile( "^(01\\d{1}|02|0505|0502|0506|0\\d{1,2})-?(\\d{3,4})-?(\\d{4})");

        Matcher matcher = tellPattern.matcher(phoneNumber);
        if(matcher.matches()) {
            //정규식에 적합하면 matcher.group으로 리턴
            return new String[]{ matcher.group(1), matcher.group(2), matcher.group(3)};
        }else{
            //정규식에 적합하지 않으면 substring으로 휴대폰 번호 나누기
            
            String str1 = phoneNumber.substring(0, 3);
            String str2 = phoneNumber.substring(3, 7);
            String str3 = phoneNumber.substring(7, 11);
            return new String[]{str1, str2, str3};
        }
    }
}

 

휴대폰번호 자르기 결과입니다.

 

국번 전화번호 자르기 결과입니다.

 

정규식 테스트하기 좋은 사이트도 남겨놓겠습니다.

 

1. 정규식 테스트 중에 최고 사이트입니다.

https://regexr.com/

정규식을 입력하면 자세하게 설명을 해주고 있습니다.

 

 

2. 정규식 시각화 해주는 사이트입니다.

http://www.regexper.com/

 

Regexper

 

regexper.com

정규식을 이미지로 표현하여 보여주고 있어 이해하는데 도움이 많이됩니다.

댓글

Designed by JB FACTORY