Memo/짧은 메모

정규표현식

생각없이 해도 생각보다 좋다. 2022. 10. 3. 14:18

정규표현식

>의미

: 문자열에서 특정한 규칙에 따른 문자열 집합을 표현하기 위해 사용되는 형식 언어

: 문자열 관리를 간편하게 하는 방법 중 하나

>사용

1. 문자열을 할당받을 변수 선언(String str)

2. 정규표현식을 할당받을 변수 선언(String regExp)

3. 문자열을 확인할 특정 조건을 정규 표현식으로 표현한 데이터를 변수에 할당.

4. Pattern.matches(regExp, str) 메서드를 통해 boolean 값으로 조건에 부합하는지 확인할 수 있음.

//아래 예시에서 확인할 수 있지만, 코드의 길이가 확연히 줄고 간단하게 표현할 수 있기 때문에 잘 알아두면 알고리즘 문제 해결에도 도움이 될 수 있다.

 

예시 상황

: 문자열 str 이 주어질 때, str의 길이가 5 또는 7이면서 숫자(0~9)로만 구성되어 있는지를 확인

//정규표현식 미사용
public boolean solution(String str) {
	if(str.length() == 5 || str.length() == 7) {
		for(int i = 0; i < str.length(); i++) {
			if(!Character.isDigit(str.charAt(i))) return false;
		}
		return true;
	}
	return false;
}
//정규표현식 사용
public boolean solution(String str) {
	String regExp = "\\d{5}$|\\d{7}$"
	return Pattern.matches(regExp, str)
}