0. 언제 쓰는가?
정규식에는 다양한 기능이 있다.
기본적인 기능부터 살펴보도록 하자.
이번에 살펴볼 기능은 각종 코딩 테스트나 알고리즘에 자주 나오는 유형이다.
해당 문자열이 내가 원하는 값들로만 이루어져 있는지 확인하고 싶을 때 사용한다.
혹은 절대로 있으면 안되는 값이 포함되어 있는지 확인하고 싶을 때 사용한다.
이것을 응용하면 내가 원하는 값이 포함 되어있는지 확인할 수도 있다.
1. 내가 원하는 값들만 들어있는지 확인한다.
public class Main {
private static boolean isOnlyNumber(String string) {
return string.matches("^[0-9]*$");
}
private static boolean isOnlyCapitalAlphabet(String string) {
return string.matches("^[A-Z]*$");
}
private static boolean isOnlySmallAlphabet(String string) {
return string.matches("^[a-z]*$");
}
private static boolean isOnlyAlphabet(String string) {
return string.matches("^[A-Za-z]*$");
}
private static boolean isOnlyKorean(String string) {
return string.matches("^[가-힣]*$");
}
}
2. 절대로 들어있으면 안되는 값이 있는지 확인한다.
[]
안에 ^는 not이라는 표시이다. 이것을 활용하면 다음과 같이 표현할 수 있다.
public class Main {
private static boolean hasNoNumber(String string) {
return string.matches("^[^0-9]*$");
}
private static boolean hasNoCapitalAlphabet(String string) {
return string.matches("^[^A-Z]*$");
}
private static boolean hasNoSmallAlphabet(String string) {
return string.matches("^[^a-z]*$");
}
private static boolean hasNoAlphabet(String string) {
return string.matches("^[^A-Za-z]*$");
}
private static boolean hasNoKorean(String string) {
return string.matches("^[^가-힣]*$");
}
}
3. 내가 원하는 값이 포함 되어있는지 확인한다.
자바 !
연산자를 활용하자
public class Main {
private static boolean hasNumber(String string) {
return !string.matches("^[^0-9]*$");
}
private static boolean hasCapitalAlphabet(String string) {
return !string.matches("^[^A-Z]*$");
}
private static boolean hasSmallAlphabet(String string) {
return !string.matches("^[^a-z]*$");
}
private static boolean hasAlphabet(String string) {
return !string.matches("^[^A-Za-z]*$");
}
private static boolean hasKorean(String string) {
return !string.matches("^[^가-힣]*$");
}
}
'Java' 카테고리의 다른 글
[Java] Comparator / Comparable (0) | 2020.12.08 |
---|