자바 정규표현식

박병주·2023년 2월 5일
0

Java

목록 보기
2/7

정규표현식(Regular Expression)이란 컴퓨터 과학의 정규언어로부터 유래한 것으로 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식 언어이다.

전화번호, 주민등록번호, 이메일 등과 같은 정해져있는 형식이 있고 사용자가 그 형식대로 입력했는지 검증해야할 필요가 있다. 이런 입력값을 정해진 형식에 맞는지 검증해야 할 때 정규표현식을 사용하면 쉽게 구현할 수 있다.


자주 사용하는 정규 표현식

정규 표현식설명
^[0-9]*$숫자
^[a-zA-Z]*$영문자
^[A-Z]*$영문자 - 대문자
^[a-z]*$영문자 - 소문자
^[가-힣]*$한글

정규표현식 작성 예제

class Solution {
        public int solution(String my_string) {
            my_string = my_string.replaceAll("[a-zA-Z]", "");

            int answer = 0;

            for(int i=0; i<my_string.length(); i++) {
                answer += Integer.parseInt(String.valueOf(my_string.charAt(i)));
            }           

            return answer;      
        }
    }
  • 주어진 문자열 my_string에서 [a-zA-Z], 즉 a~z, A~Z 영문자를 모두 replaceAll을 통해서 제거
  • 공백문자에 대한 처리가 필요하게 되는데, 아래 예제와 같은 해결법이 있다.
class Solution {
        public int solution(String my_string) {
            my_string = my_string.replaceAll("[^0-9]", "");

            int answer = 0;

            for(int i=0; i<my_string.length(); i++) {
                answer += Integer.parseInt(String.valueOf(my_string.charAt(i)));
            }           

            return answer;      
        }
    }
  • 주어진 문자열 my_string 에서 [^0-9] 즉 0~9를 제외한 문자열을 replaceAll을 통해서 제거하게 된다.
  • 공백문자 등이 포함되어도 숫자만 남기고 제거가능.
class Solution {
    public String solution(String my_string) {
        String answer = "";

        answer = my_string.replaceAll("[aeiou]", "");

        return answer;
    }
}
  • 주어진 문자열 my_string에서 [aeiou] 즉 모음만 추려서 제거
profile
Developer

0개의 댓글