정규표현식(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] 즉 모음만 추려서 제거