안녕하세요. 제임스 입니다.
자바 정규표현식에서 한글만 허용하는 방법에 대해 정리해보겠습니다.
■ 정규표현식 한글만 허용하기
1 | String regExp = "^[가-힣]*$"; | cs |
위 표현식은 가 ~ 힣 까지의 한글을 허용 한다는 표현식입니다.
뒤에 * 을 붙여서 입력이 안되어도 한글입력으로 인정합니다.
샘플 코드 보시겠습니다.
1 2 | String input1 = "가나뷁"; System.out.println("input1 정규표현식 적용 결과 ==> "+input1.matches(regExp)); | cs |
문자열이 "가" ~ "힣" 범위 안에 들어 가는 한글들로 구성 되어 있습니다.
위 코드 실행 결과는 아래와 같습니다.
input1 정규표현식 적용 결과 ==> true
1 2 | String input2 = ""; System.out.println("input2 정규표현식 적용 결과 ==> "+input2.matches(regExp)); | cs |
입력값이 없는 상태라도 한글로 인정 됩니다. 표현식에 보시면 * 을 추가 했는데요. 앞의 표현식이 입력되지 않아도 허용 한다는 의미 입니다.
위 코드 실행 결과는 아래와 같습니다.
input2 정규표현식 적용 결과 ==> true
1 2 | String input3 = "공백 추가"; System.out.println("input3 정규표현식 적용 결과 ==> "+input3.matches(regExp)); | cs |
문자열에 공백이 추가 되었습니다. 정규표현식 상에서 공백을 허용하겠다는 내용이 없으므로 위 코드 실행 결과는 false 가 리턴 되어야 정상입니다.
위 코드 실행 결과는 아래와 같습니다.
input3 정규표현식 적용 결과 ==> false
■ 정규표현식 한글만 허용하기 (공백문자 허용)
그렇다면 공백을 허용 하고자 한다면 어떻게 해야 할까요?
표현식으로 작성한 부분은 다음과 같습니다.
^[가~힣]*$
가 ~ 힣 까지 모두 허용 하는데 여기에 공백문자도 허용하겠다고 선언 하면 됩니다.
1 | String regExp = "^[가-힣\\s]*$"; | cs |
위와같이 \\s 를 추가 해줬습니다. \s 는 공백문자 허용 한다는 내용입니다.
결과는 어떻게 나올까요? 당연히 true 로 리턴 됩니다.
input3 정규표현식 적용 결과 ==> true
■ 정규표현식 한글만 허용하기 (자음&모음 허용)
1 2 | String input4 = "레알ㄷㄷㄷㅏㄷㅏ"; System.out.println("input4 정규표현식 적용 결과 ==> "+input4.matches(regExp)); | cs |
이번에는 자음과 모음이 문자열에 포함되었습니다. 작성한 표현식 상에 자음 / 모음에 관한 정의를 하지 않았다는 것을 생각하면 실행 결과는 예상 가능하시죠?
input4 정규표현식 적용 결과 ==> false
자음과 모음도 허용하는 표현식을 만들어 보겠습니다.
1 | String regExp = "^[ㄱ-ㅎ|ㅏ-ㅣ|가-힣\\s]*$"; | cs |
자음 ㄱ-ㅎ 추가 후 or 을 의미하는 " | " 값으로 구분합니다.
모음 ㅏ-ㅣ 추가 후 or 을 의미하는 " | " 값으로 구분합니다.
그리고 기존 표현식을 추가 해주면 자음, 모음을 포함한 한글 허용하기 표현식이 됩니다.
실행 결과는 아래와 같습니다.
input4 정규표현식 적용 결과 ==> true
상황에 따라 한글만 허용하더라도 자음/모음은 허용 하지 않거나 허용 해야 하는 경우가 다르게 나옵니다.
상황에 맞게 표현식을 수정해가면 멋진 코딩을 할 수 있을 거라 생각됩니다.
▼ 도움이 되셨다면 로그인이 필요 없는 ▼
▼ 하트 클릭 한번 부탁 드립니다 ▼
감사합니다 :D
'Java' 카테고리의 다른 글
[ 자바 코딩 ] Java Regular Expression 정규표현식 - 이메일 주소 패턴 만들기 (471) | 2018.06.22 |
---|---|
[ 자바 코딩 ] Java Regular Expression 정규표현식 - 암호 패턴 만들기 (11) | 2018.06.21 |
[ 자바 코딩 ] Java Regular Expression 정규표현식 - 이중 파일 확장자 처리 (12) | 2018.06.19 |
[ 자바 코딩 ] Regular Expression 정규표현식 - 파일 확장자 (9) | 2018.06.15 |
[ 자바 코딩 ] Regular Expression 정규표현식 - 영문자만 허용하기 (15) | 2018.06.12 |